본문 바로가기
반응형

SB 리치 패밀리5245

[개발/MFC] 프로세스가 살아있는지 검사, 프로세스 죽이기 프로세스가 살아있는지 검사, 프로세스 죽이기 프로세스가 살아있는지 검사 // uses 에 TlHelp32 추가 functionIsRunningProcess(constProcName: String) : Boolean; var Process32: TProcessEntry32; SHandle: THandle; Next: Boolean; begin Result:=False; Process32.dwSize:=SizeOf(TProcessEntry32); SHandle :=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0); // 프로세스 리스트를 돌면서 매개변수로 받은 이름과 같은 프로세스가 있을 경우 True를 반환하고 루프종료 ifProcess32First(SHandle, Pro.. 2011. 8. 1.
[개발/MFC] 동적으로 COM Server 등록하기 (DLL, OCX) [개발/MFC] 동적으로 COM Server 등록하기 (DLL, OCX) DLL 등을 등록하려면 regsvr32 DLL이름 으로 등록한다. (등록해제는 regsvr32 /u DLL이름) 동적으로 등록하는 방법이 있었다. RegisterComServer(DLL이름); ex) 프로젝트 파일(.dpr)에서 한다. programRegistComServer; uses Forms, ComObj, Main in'Main.pas'{Form1} {$R *.res} constDLL_FILE='xx.dll'; begin Application.Initialize; ifFileExists(DLL_FILE) then begin RegisterComServer(DLL_FILE); // DLL 등록 end else begin App.. 2011. 8. 1.
[개발/MFC] 바탕화면 바꾸기 procedure 바탕화면_바꾸기(이미지파일: String; 바둑판형식: Boolean); const 바탕화면_복구 = 29699; var Reg: TRegIniFile; 바탕화면_핸들: HWND; begin // 레지스트리에 바탕화면에 대한 항목 세팅 Reg := TRegIniFile.Create('Control Panel'); Reg.WriteString('desktop', 'Wallpaper', 이미지파일); if바둑판형식 thenReg.WriteString('desktop', 'TileWallpaper', '1') else Reg.WriteString('desktop', 'TileWallpaper', '0'); // 바탕화면 변경 메세지 보냄 바탕화면_핸들:=FindWindow('ExploreWC.. 2011. 8. 1.
[개발/delphi] 절대 죽지 않는 프로그램 만들기 dpr 프로젝트 파일을 아래와 같은 형태로 만들면 된다. programProject1; uses Forms, Windows, Messages, Unit1 in 'Unit1.pas'{Form1}; {$R *.res} var Msg: tagMSG; 종료금지: Boolean; const WM_MYQUIT = WM_USER+2533; begin 종료금지:=True; Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; while종료금지 do begin whilePeekMessage(Msg, 0, 0, 0, PM_REMOVE) do begin ifMSG.message = WM_MYQUIT then begin 종료금지:=Fal.. 2011. 8. 1.
[개발/MFC] regsvr32.exe 를 사용하지 않고 ActiveX DLL을 레지스트리에 등록하기 [개발/MFC] regsvr32.exe 를 사용하지 않고 ActiveX DLL을 레지스트리에 등록하기 activeX DLL 을 regsvr32를 사용하지 않고 등록하는 방법이 델파이로 된게 있어서 가져왔다. 직접 만들어서 해볼려고 하니 시간이 부족하다... Unit Unit1; Interface Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type TForm1 = Class(TForm) btRegistryDll: TButton; btUnRegistryDll: TButton; Procedure btRegistryDllClick(Sender: TObject); Procedure btUnRegis.. 2011. 8. 1.
[개발/delphi] Vista에서 프로그램 권한상승하기 여기 없어서 문서와 소스 올립니다. Windows Vista에서 레지스트리나 RegisterWindowMessage...뭐 좀 건드는거 하면 조용히 실행 안해서 프로그램 오류인가 비스타와 궁합 등등 속썩이는 경우. 관리자 권한으로 실행하여 User Account Control (UAC)을 띄워하라고 하여 했더니 되고요. 설치시하거나 델2007이상하면 되다는데 그럴 여건은 안되고... 첨부 문서대로 res파일을 만든후, 빌드하면 실행파일의 권한이 상승되어 비스타에서 잘 됩니다. 여기저기 찾아봐도 어려운 말이 많아서요, 일단 간단하게 되긴되는데 맞는 방법인지는.... (첨부파일의 WindowsVista.rc, WindowsVista.manifest 그대로 사용하시려면 1,2 생략 해도 됩니다) 1. 일단 메.. 2011. 8. 1.
반응형