반응형 SB 리치 패밀리5789 [개발/MFC] HINSTANCE 구하기 1. hWnd를 알면, 그걸로 hInstance를 얻어올 수 있습니다. GetWindowLong / GetWindowLongPtr에서 GWLP_HINSTANCE 2. AfxGetApp() 를 통해서 App 의 포인터를 얻어온 다음에 m_instance 멤버변수 3. HINSTANCE hInst= GetModuleHandle(NULL); 콘솔에서 윈도 뛰울때 자주 씁니다. 4. HINSTANCE AfxGetInstanceHandle( ); 5. dll의 메모리를 이용한 HINSTANCE 구하기 종종 DLL 내부에서 window를 띄워야하시겠다는 분이 있어서 찾던중에 Detecting a HMODULE/HINSTANCE Handle Within the Module You're Running In 이라는 co.. 2011. 9. 20. [개발/MFC] 중복실행 방지하기 [개발/MFC] 중복실행 방지하기 TCHAR szAppName[] = _T("sbrich"); HANDLE hMutex = NULL; bool IsSecondInstance() { bool isSecondInstance= false; hMutex= CreateMutex(NULL, NULL, szAppName); int iLastError = GetLastError(); if(hMutex && (ERROR_ACCESS_DENIED == iLastError || ERROR_ALREADY_EXISTS == iLastError)) { ReleaseMutex(hMutex); hMutex= NULL; isSecondInstance= true; } return isSecondInstance; } int main() .. 2011. 9. 20. [개발/MFC] GetLastError(), System Error Codes (0-999) GetLastError()함수로 얻게 되는 에러코드로 아래으 에러코드에 대한 에러 메세지의 의미를 알 수 있다. **System Error Codes (0-499) The following table provides a list of system error codes ( errors 0 to 499). They are returned by the GetLastError function when many functions fail. To retrieve the description text for the error in your application, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag. Table with 2 c.. 2011. 9. 20. [개발/VC] IERefreshElevationPolicy() 함수 인터넷 익스플로러 보호모드에서 Internet Explorer의 Protected Mode(보호모드)에서 activeX나 BHO 설치 후 레지스트리 값 수정후 IE를 재시작해야 하는 경우가 있는데 IERefreshElevationPolicy() 함수를 사용하면 그렇게 하지 않아도 된다고 합니다. UAC 환경(Windows Vista, Windows 7)의 IE7, IE8 보호모드에서 동작하는 ActiveX에서 실행 파일을 실행할 경우(브로커 프로세스) 비보호 모드로 열린다는 보안 경고창이 나타납니다. 이 문제를 해결하려면 아래와 같이 자동 권한 상승 정책을 레지스트리에 등록해주어야 합니다. {347DAD60-9849-4921-89B6-16FA1B7936CC}는 임의의 GUID값입니다. [HKEY_LOCAL_MACHINE\SOFTWAR.. 2011. 9. 20. [개발/MFC] 비주얼스튜디오 디버깅 메세지 출력하기 ///////////////////////////////////////////////////////////////////////////// // 디버그 로그 ///////////////////////////////////////////////////////////////////////////// void DebugLog(const char *format, ...) { va_list vl; FILE *pf = NULL; char szLog[512] = {0,}; va_start(vl, format); wvsprintf(szLog, format, vl); va_end(vl); // sends a string to the debugger for display. show me the visual studio o.. 2011. 9. 7. [IT/보안] 악성코드 진단 종류 [IT/보안] 악성코드 진단 종류 Rootkit(루트킷) 자기자신 혹은 다른 악성코드가 사용자로부터 발견되지 않도록 은폐기능을 수행하는 놈 - Backdoor (백도어) 공격자가 감염된 사용자의 시스템에 접속할 수 있게 하는 놈 - Trojan (트로이 목마) 자체적인 확산기능은 없고, 사용자 몰래 악의적인 기능을 수행 - Trojan-Dropper (트로이목마-드롭퍼) 악성코드에 포함된 추가적인 악성코드를 설치 - Trojan-Exploit (트로이목마-익스플로잇) 운영체제나 특정 프로그램의 취약점을 이용하여 공격하는 악성코드 - Trojan-Downloader (트로이목마-다운로더) 추가적인 악성코드를 인터넷이나 네트워크를 통하여 다운로드하여 설치 - Trojan-PWS (트로이목마-패스워드스틸러) .. 2011. 9. 7. [작업] 악성코드 분류를 회피하기 악성코드에 한 번 잡히게 되면 악성코드 오진 신고를 하거나 새로 만들게 된다. 이 때 여러가지 기술이 있는데... 회피하는 방법 여러가지를 만들어 둬야겠다. 알약을 보면 기득권 같다..권한은 많고 책임은 적은 악성코드 분류 정보가 없다... 마음대로 진단한다는 건지... ㅜㅜ; 2011. 9. 6. [개발/delphi] 중복 실행 방지 델파이로 중복 실행 방지 구현 소스 골라서 쓰자. =============================================================== #1 program Project; uses Forms, Windows, Dialogs, uMain in 'uMain.pas' {frmMain}; var hMutex : THandle; {$R *.res} begin hMutex := CreateMutex(nil, true, 'MajorProj'); // your mutex If (hMutex 0) and (GetLastError = 0) Then Begin Application.Initialize; Application.MainFormOnTaskbar := true; Application.C.. 2011. 9. 1. [성공투자] 경기회복이냐 경기후퇴냐? 또 하나의 변곡점 버락 오바마 미국 대통령이 고용 개선을 포함한 새로운 경기 부양책을 오는 7일 오후 8시 내놓을 예정이다. 이 소식은 경기후퇴 우려에 대한 기술적 반등으로 올라온 주식시장 흐름에 호재가 될지 악재가 될지 많은 관심을 받고 있습니다. 며칠간은 기대감으로 글로벌 주식시장이 상승중인데요.... 어떻게 될지 궁금합니다... 그리고 "1일 통계청은 8월 소비자물가 상승률이 전월비 5.3%로 3년만에 최고를 기록했다고 밝혔다. 전월비로는 0.9% 올라 7개월만에 가장 큰 폭으로 상승했다. 올들어 1월부터 7월까지 내리 4%를 상회하더니 이제는 5%대로까지 올라섰다"라고 하니... 금리인상은 당연히 해야될 수순이 되었고 가계빚, 대출금리에도 영향을 주게 생겼다. 소백촌닭 2011. 9. 1. 이전 1 ··· 529 530 531 532 533 534 535 ··· 644 다음 반응형