분류 전체보기 1120

InstallShield 7.0에서 IE창 닫은후 프로그램 제거하기

프로그램을 개발하던 중에, IE를 모두 닫은 후에 프로그램을 제거해야만 하는 경우가 있었습니다. 이런 경우 InstallShield 프로그램에서 다음과 같이 처리하면 IE를 모두 닫고 제거를 수행하도록 할 수 있습니다. 아래의 코드를 OnMaintUIBefore에 적당히 넣으시면 됩니다. STRING svResult, szCaption, szAppPath; NUMBER nResult, nRetry; HWND nhWnd, nHwnd; .... svResult = @PRODUCT_NAME+"를 시스템에서 제거합니다. 계속 하시겠습니까?"; szCaption = @PRODUCT_NAME+" 제거"; nResult = SprintfBox(MB_YESNO|MB_ICONQUESTION, szCaption, "%s"..

프로그래밍 2007.12.22

InstallShield 7.0 Pro 버전에서 언인스톨 아이콘(Add Uninstall Shortcut)

다음과 같은 코드를 OnEnd 스크립트에 추가하면 됩니다. STRING szAppPath; ... if (!MAINTENANCE) then szAppPath=FOLDER_PROGRAMS^IFX_PRODUCT_NAME; AddFolderIcon( szAppPath, "프로그램 제거하기", UNINSTALL_STRING, DISK1TARGET, DISK1TARGET^"setup.exe", 0, "", REPLACE); endif; 그러면, 시작 프로그램 메뉴의 해당 프로그램 폴더에 보면 "프로그램 제거하기"라는 아이콘이 만들어져 있을 겁니다.

프로그래밍 2007.12.22

원하는 프로세스 찾기 / 프로세스 경로 얻기

1. 원하는 프로세스를 찾기 위해서 ToolAPI를 이용해야 합니다. 이를 위해서는 TlHelp32 유닛을 사용합니다. 다음은 현 시스템의 모든 프로세스 목록을 얻는 예제입니다. uses ... , TlHelp32, ... ; procedure TMainForm.btnGetProcessListClick(Sender: TObject); var AProcessEntry32:LPPROCESSENTRY32; hProcessSnap:THandle; blnNext:BOOL; i:integer; begin ClearProcessList; hProcessSnap:=CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0); try New(AProcessEntry32); AProcessEntr..

PostgreSQL DB 백업 및 MS-SQL로의 이전

pg_dump 명령으로 데이터베이스를 백업합니다. pg_dump --help pg_dump dumps a database as a text file. Usage: pg_dump [options] dbname Options: -a dump out only the data, no schema -b dump out blob data -c clean (drop) schema prior to create -C output commands to create database -d dump data as INSERT, rather than COPY, commands -D dump data as INSERT commands with attribute names -f FILENAME specify output file n..

프로그래밍 2007.12.21

IE 보안탭의 신뢰할 수 있는 사이트에 등록하기

IE 보안탭의 신뢰할 수 있는 사이트에 등록하는 함수를 만들어 보았습니다. 함수의 매개변수로 신뢰할 수 있느 사이트에 추가할 호스트 URL을 입력하면 됩니다. function SetReliableSite(const strSite:string):boolean; const CLSID_InternetSecurityManager: TGUID = '{7b8a2d94-0ac9-11d1-896c-00c04fB6bfc4}'; CLSID_InternetZoneManager : TGUID = '{7B8A2D95-0AC9-11d1-896c-00C04FB6BFC4}'; var AResult:HRESULT; AInternetZoneManager:IInternetZoneManager; AInternetSecurityManager..

DLL에 버전 정보를 넣어 보자

델파이로 DLL을 만들때는 별도로 버전 정보를 넣어야 합니다. 프로젝트 옵션에서 바로 버전 정보를 줄 수가 없더군요.(델7) DLL에 버전 정보를 넣기 위해서는 다음과 같은 리소스(*.rc) 파일을 만듭니다. 1 VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL FILEFLAGS 0x1L FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", "Sample Application\0" VALUE "CompanyName", "Microsoft Corp.\0" VALUE ..

PlaySound 함수 이용 소리 내기.

효과 소리를 내기 위해서 PlaySound API를 이용합니다. function PlaySound(pszSound: PChar; hmod: HMODULE; fdwSound: DWORD): BOOL; stdcall; MMSystem 유닛에 위와 같이 정의되어 있습니다. 첫번재 파라미터 pszSound 는 효과 소리 파일에 대한 별명 / 리소스 아이디 / 파일명이 옵니다. 두번째 파라미터 hmod 는 별명이나 파일명인 경우, 0을 넣고 리소스인 경우 해당 리소스인 인스턴스 핸들을 넘겨줍니다. 세번째 파라미터 fdwSound에는 다음과 같은 파라미터가 올 수 있습니다. SND_SYNC = $0000; { play synchronously (default) } SND_ASYNC = $0001; { play as..

[GR32] 다각형 영역만 클립보드로 복사하기

공개 패키지 Graphics32 1.8 버전이 새로 나왔습니다. 이를 기존 프로젝트에 적용하였더니, 한군데서 오류가 발생하였습니다. 이미지의 Interpolate를 처리하기 위한 필터가 클래스 형태로 변경되었습니다. 기존 코드(1.7) FBuffer32.StretchFilter=sfLinear; 신규 코드(1.8) TLinearResampler.Create(FBuffer32); 이런식으로 적용하였더니, 바로 그대로 사용 가능하였습니다. 1.7 버전의 ImgView에 있던 레이어의 확대 버그가 1.8에서는 해결된것 같습니다. 다각형 영역만 클랩보드로 복사하는 것은 Examples의 Sprites 예제를 응용하면 됩니다. 다음 코드는 Sprites 예제의 생성자 코드의 일부입니다. procedure Load..

728x90