본문 바로가기
반응형

개발469

[개발/MFC] MFC가 제공하는 List Class - CStringList ■ MFC가 제공하는 List Class - CStringList ※ MFC 가 제공하는 List Class - 양방향 포인터를 가지는 이중 연결 리스트(Doubly-Linked List) - 리스트의 처음 부분을 가리키는 포인터(Head) 와 끝 부분을 가리키는 포인터(Tail)가 있다. 따라서 어느 방향으로든 순환하는 것이 가능하다. MFC가 제공하는 List Class ① 템플릿 클래스 (Template Class) ② 비 템플릿 클래스 (Nontemplate Class) ① 템플릿 클래스 (Template Class) - afxtempl.h 헤더파일 필요. - 원하는 종류의 데이터 타입을 프로그래머가 결정 - 비 템플릿 클래스가 제공하는 모든 기능을 구현할 수 있기 때문에 템플릿 클래스 사용을 권.. 2011. 8. 1.
[개발/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.
반응형