본문 바로가기

삽질61

[Delphi] InnoSetup : 방화벽 추가 InnoSetup [Code] 부분에 이대로 추가하면 된다설치할때 추가하고 삭제할때 제거된다 검색해서 나오는 자료들은 죄다 예전 소스들이라 힘들었음 ㄱ- [Code] constNET_FW_SCOPE_ALL = 0;NET_FW_IP_VERSION_ANY = 2;NET_FW_ACTION_ALLOW = 1; procedure SetFirewallExceptionXP(AppName,FileName:string);var FirewallObject: Variant; FirewallManager: Variant; FirewallProfile: Variant;begin tryFirewallObject := CreateOleObject('HNetCfg.FwAuthorizedApplication');FirewallObje.. 2013. 8. 7.
[Delphi] InnoSetup : 설치/제거 할 때 프로그램 종료하기 InnoSetup [Code] 부분에 이렇게 넣으면 설치하거나 제거할 때 강제로 프로세스를 종료한다! [Code]constWM_CLOSE = $0010; // 프로그램 설치 시 function InitializeSetup: Boolean;varWnd: HWND;beginwhile(true) dobeginWnd := FindWindowByClassName('메인폼클래스명');if Wnd 0 thenbeginSendMessage(Wnd, WM_CLOSE, 0, 0);endelsebeginbreak;end;end; Result := True;end; // 프로그램 제거 시 function InitializeUninstall: Boolean;varWnd: HWND;beginwhile(true) dobeginWn.. 2013. 8. 7.
[Delphi] 윈도우 높은 권한에서 낮은 권한 메시지 받기 ChangeWindowMessageFilter 를 이용한다.이 소스 진짜 원 출처는 어딘지 모르겠지만 일단 적어놓기. type FCHANGEWINDOWMESSAGEFILTER = function(message: UINT; dwFlag: DWORD) : boolean; stdcall; procedure TForm.FormCreate(Sender: TObject);var h: HWND; MessageFilter: FCHANGEWINDOWMESSAGEFILTER;begin h := LoadLibrary('USER32.DLL'); if h 0 then begin try @MessageFilter := GetProcAddress(h, 'ChangeWindowMessageFilter'); if @MessageFil.. 2013. 8. 2.
[Delphi] 작업표시줄 시계부분 위치찾기 작업표시줄 위치에 상관없이시계부분에 팝업을 띄우기 위해서 var h: HWND; WorkRect: TRect; BarData: TAppBarData; begin h := FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'TrayNotifyWnd', nil); GetWindowRect(h, &WorkRect); BarData.HWND := 0; BarData.cbSize := sizeof(BarData); SHAppBarMessage(ABM_GETTASKBARPOS, BarData); case BarData.uEdge of 0: // ABE_LEFT begin self.Left := WorkRect.Right; self.Top := WorkRect.Bottom - .. 2013. 7. 30.
[Delphi] 작업표시줄 위치 찾기 uses shellapi; var pData: TAppBarData;begin pData.hWnd := 0; pData.cbSize := sizeof(pData); SHAppBarMessage(ABM_GETTASKBARPOS, pData); case pData.uEdge of 0: ShowMessage('ABE_LEFT'); 1: ShowMessage('ABE_TOP'); 2: ShowMessage('ABE_RIGHT'); 3: ShowMessage('ABE_BOTTOM'); end; end; 2013. 7. 22.
[Delphi] IdFTP 한글 인코딩 오류 기억력 나쁜 내가 또 까먹고 indy 업데이트 할까봐 급히 메모.. IdFTP.pas 수정하면 됨. 1) TIdFTP = class(TIdExplicitTLSClient)에 프로퍼티 하나 만들고 FUTFMode: boolean; property UTFMode : boolean read FUTFMode write FUTFMode; 2) 소스 수정 procedure TIdFTP.List(ADest: TStrings; const ASpecifier: string = ''; ADetails: Boolean = True); {do not localize}var LDest: TMemoryStream; LTrans : TIdFTPTransferType;begin if ADetails and UseMLIS and FC.. 2013. 4. 5.
[WP7] 윈도우폰 TextBlock New Line 추가 TextBlock Text="첫번째 문장   두번째 문장"/> 2012. 7. 27.
[WP7] 윈도우폰 설정 된 테마 색상 가져오기 - Background : Dark(Black), Light(White) 1) Color themeColor = (Color)Application.Current.Resources["PhoneBackgroundColor"]; if (themeColor.ToString() == "#FF000000") ; // "Dark"; else if (themeColor.ToString() == "#FFFFFFFF") ; // "Light"; 2) // 글자 색상이 흰색이라면 현재 테마는 Dark, 검은색이라면 Light Color themeColor = (Color)Application.Current.Resources[" PhoneForegroundColor "]; if (themeColor.ToString() == .. 2012. 4. 4.
[WP7] 문자와 문자 사이의 문자 가져오기 public static string GetMiddleString(string str, string begin, string end) { if (string.IsNullOrEmpty(str)) { return null; } string result = null; // 해당 글자부터 끝까지 찾는거면 if (end == "") { str = str.Substring(str.IndexOf(begin) + begin.Length); if (str.Length > -1) result = str.Substring(0, str.Length); else result = str; return result; } if (str.IndexOf(begin) > -1) { str = str.Substring(str.IndexOf.. 2012. 4. 4.
[WP7] Visual Studio 2010 자주쓰는 단축키 Ctrl + K + C : 주석처리 Ctrl + K + U : 주석해제 Ctrl + K + D : 자동정렬 Ctrl + M + M : 코드블록 접기, 열기 Ctrl + K + K : 북마크 기능, 해제 Ctrl + K + N : 다음 북마크로 이동 Ctrl + HOME : 문서 처음 Ctrl + END : 문서 끝 Ctrl + ] : 괄호의 짝 찾기 Ctrl + L : 한 라인 잘라내기 Ctrl + F3 : 현재 커서의 문자열 찾기 (forward) Ctrl + Shift + F3 : 현재 커서의 문자열 찾기 (backward) F9 : 현재 라인 Breakpoint 지정/해제 F12 : 선언부로 가기 Alt + 마우스드래그 : 세로 영역 선택 2012. 4. 4.