MFC에서 파일 읽고 쓰기 파일 읽고 내용을 리턴한다. 없으면 생성한다. LPCTSTR testDlg::GetFileRead() { CFile theFile; char* szFileName = "myfile.txt"; BOOL bOpenOK; char szBuffer[256] = {0, }; UINT nActual = 0; CString mFile; CFileStatus status; if(CFile::GetStatus(szFileName, status)) { bOpenOK = theFile.Open(szFileName, CFile::modeRead); theFile.Read(szBuffer, sizeof(szBuffer)); theFile.Seek(0, CFile::begin); nActual = th..
1. 레지스트리에서 값 읽어오기 - 비스타에서 작업할 때 stdafx.h 파일에 #define _WIN32_WINNT0x0600 #include (include Windows.h) http://msdn.microsoft.com/en-us/library/ms724868(VS.85).aspx LONG WINAPI RegGetValue( __in HKEY hkey, __in_opt LPCTSTR lpSubKey, __in_opt LPCTSTR lpValue, __in_opt DWORD dwFlags, __out_opt LPDWORD pdwType, __out_opt PVOID pvData, __inout_opt LPDWORD pcbData ); ex) CString SubKey = ""; LPCTSTR lpK..
stdafx.h 맨 아래 보면 다음과 같이 수정해준다. #if defined _M_IX86 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") #elif defined _M_IA64 #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorA..
방법 1. 윈도우 메시지중 WM_NCHITTEST를 추가하여 다음을 코딩한다. LRESULT CTestDlg::OnNcHitTest(CPoint point) { CRect rect; GetClientRect(&rect); ClientToScreen(&rect); if(rect.PtInRect(point)) { return HTCAPTION; } return CDialog::OnNcHitTest(point); } 방법 2. 왼쪽 버튼 다운 함수에서의 처리 방법 void CTestDlg::OnLButtonDown(UINT nFlag, CPoint point) { CDialog::OnLButtonDown(nFlag, point) // 사용자가 캡션을 클릭한 것처럼 인식되게 끔 대화상자를 속인다. PostMes..
int TaskManager_Enable_Disable(BOOL bEnableDisable) { #define KEY_DISABLETASKMGR "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System" #define VAL_DISABLETASKMGR "DisableTaskMgr" HKEY hKey; DWORD val; LONG r; if (RegOpenKey(HKEY_CURRENT_USER, KEY_DISABLETASKMGR, &hKey) != ERROR_SUCCESS) if (RegCreateKey(HKEY_CURRENT_USER, KEY_DISABLETASKMGR, &hKey) != ERROR_SUCCESS) return 0; if (bEna..
//OnInitDialog() 부분에 추가하면 된다. LONG style = ::GetWindowLong( m_hWnd, GWL_STYLE ); style &= ~WS_CAPTION; style &= ~WS_SYSMENU; ::SetWindowLong( m_hWnd, GWL_STYLE, style ); int screenx = GetSystemMetrics( SM_CXSCREEN ); int screeny = GetSystemMetrics( SM_CYSCREEN ); // resize: SetWindowPos( NULL, -4, -4, screenx+8, screeny+4, SWP_NOZORDER );
이 게시물은 문서 내용에 대한 가공(변조)가 없는 상태에서의 배포만을 허락 합니다. 그외의 용도에 대해서는 불법 스크랩을 허가 하지 않습니다. 커널모듈을 통한 vmsplice() local root exploit 취약점에 대한 방어 모듈 제작 공개 by hkpco(wowhacker&wowcode) hkpco@korea.com http://hkpco.kr/ -- 커널 버전 2.6.23 이상에서 패치를 적용하신 분들은 새로 업데이트 된 모듈 코드(url동일)를 재적용 하시기 바랍니다. 테스트 결과 두 번째 발표된 "Linux Kernel 2.6.23 - 2.6.24 vmsplice Local Root Exploit" 취약점은 vmsplice() 와는 무관함을 확인하였고 vm86old()의 취약성으로 권한 상..
// // SendTray // // 트레이로 보내는 애니메이션을 표시한다. // VOID SendTray(HWND hwnd, BOOL bTo) { RECT rcFrom, rcTo; HWND hTrayP = FindWindow("Shell_TrayWnd", NULL); HWND hTrayC = FindWindowEx(hTrayP, NULL, "TrayNotifyWnd", NULL); if(hTrayC) { GetWindowRect(hTrayC, &rcTo); } else { SystemParametersInfo(SPI_GETWORKAREA, 0, &rcTo, 0); rcTo.left = rcTo.right - 118; rcTo.top = rcTo.bottom - 30; } GetWindowRect(hwn..