기본 콘텐츠로 건너뛰기

gsjava 윈도우 바탕화면 레지스트리로 변경하기

 

#include <winreg.h>


파일명
마이 컴퓨터 \HKEY_CURRENT_USER\Control Panel\desktop\Wallpaper
 
표시방법
마이 컴퓨터 \HKEY_CURRENT_USER\Control Panel\desktop\TileWallpaper


void SetWallPaper(LPCTSTR pszFileName, int nTile)
{

HKEY hKey;
static char tile[2];
long lRet;

tile[0]='0'+nTile;
tile[1]='\0';

lRet = ::RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\desktop", 0, KEY_WRITE | KEY_READ, &hKey);
::RegSetValueEx(hKey, "TileWallpaper", 0, REG_SZ, (const unsigned char *) tile, 1);
::RegCloseKey(hKey);
::SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, (void *) pszFileName, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

}
 

  설  명~

 

lRet = ::RegOpenKeyEx(HKEY_CURRENT_USER, "Control Panel\\desktop",0, KEY_WRITE|KEY_READ, &hKey);


레지스트리의 위치키값을 가져옵니다.(상세설명은 CPU정보얻기에서 참고하세여)

 

::RegSetValueEx(hKey, "TileWallpaper", 0, REG_SZ, (const unsigned char *) tile, 1);
::RegCloseKey(hKey);

 

바탕화면의 표시 방법(center/tile)을 제어 하기 위한 부분입니다. Windows의 레지스트리를 직접 조작해 실현합니다. hKey값은 닫아줍니다.

 

::SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, (void *) pszFileName, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

 

   바탕화면의 파일명을 설정합니다. pszFileName에 바탕화면의 파일명을 줍니다. SPIF_SENDWINICHANGE는, 바탕화면등의 시스템에 관한 정보를 갱신했다고 하는 메세지를 각 어플리케이션에 발신하기 위해서고, SPIF_UPDATEINIFILE는 레지스트리에 벽지 파일명을 기록 하기 위한 것입니다.(Win31에서는 WIN.INI에 기록되게 되어 있던 것이, Win95/98에서는 레지스트리에 저장됩니다.)


댓글

이 블로그의 인기 게시물

톰캣 세션 타임 아웃 설정

web.xml 파일이 있습니다. 이 파일을 열어서 session이라고 검색해 보십시오. <session-config>   <session-timeout>360</session-timeout> </session-config> 위 단락을 찾을 수 있습니다. session-timeout 시간 360이 바로 자동로그아웃 세션 시간입니다.  단위는 분이고요. 30분으로 하고 싶으시면 30으로 바꿔서 저장해주시면 되는 것이죠~ Tomcat 내에서 Session Timeout 를 설정하는 우선 순위가 존재 한다. session.setMaxInactiveInterval() 프로그램내에서 time out 를 설정했을 경우 Web application 내의 WEB-INF/web.xml Tomcat 내의 conf/web.xml 실제로 Tomcat(conf/web.xml)내에 Default 로 설정되어 있는 것은 다음과 같다. < HttpSession 메서드 > getCreationTime() - 세션 생성 시간 getLastAccessedTime() - 마지막 요청 시간 setMaxInactiveInterval() - 최대허용시간 설정 (초) getMaxInactiveInterval() - 최대허용시간 invalidate() - 세션 제거 < 타임아웃 설정하기 > - 일정 시간 동안 요청이 없으면 세션을 제거한다  1. DD에서 전체 세션 타임아웃 설정       web.xml 1. DD에서 전체 세션 타임아웃 설정       web.xml <web-app ... >     <servlet>        ...

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...

dmesg 메시지 실시간으로 보기

참조사이트 http://imitator.kr/Linux/556 # tail -f /var/log/messages # tail -f |dmesg //기본 2초 단위로 갱신 된다. # watch "dmesg | tail -f" //1초 단위로 갱신하면서 보여준다. # watch -n 1 "dmesg | tail -f" // 보여주는 줄을 20으로 늘린다. (기본 10줄) # watch -n 1 "dmesg | tail -f -n 20"