锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 銆妤間富聽聽 浣滆咃細cracker007 銆絎?font color="#ff0000">
1
妤悸犅?/b> 銆絎?font color="#ff0000">
2
妤悸犅?/b> 浣滆咃細pianpianni 銆絎?font color="#ff0000">
3
妤悸犅?/b> 銆絎?font color="#ff0000">
4
妤悸犅?/b> 銆絎?font color="#ff0000">
5
妤悸犅?/b> 浣滆咃細cracker007 銆絎?font color="#ff0000">
6
妤悸犅?/b> 銆絎?font color="#ff0000">
7
妤悸犅?/b> 銆絎?font color="#ff0000">
8
妤悸犅?/b> 銆絎?font color="#ff0000">
9
妤悸犅?/b> 浣滆咃細cracker007 銆絎?font color="#ff0000">
10
妤悸犅?/b>
聽 聽
聽 BOOL 聽 CDlg1::OnInitDialog() 聽
聽 { 聽
聽 CDialog::OnInitDialog(); 聽
聽 CDlg2 聽 *pDlg2 聽 = 聽 new 聽 CDlg2 聽 ; 聽
聽 pDlg2->Create(IDD_...,this); 聽
聽 pDlg2->ShowWindow(SW_SHOW); 聽
聽 pDlg2->MoveWindow(...); 聽
聽 return 聽 TRUE; 聽
聽 } 聽
聽 聽
聽 dlg2灞炴ц涓猴細 聽
聽 style 聽 聽 child 聽
聽 鍙栨秷 聽 Title 聽 Bar 聽
聽 Border 聽 none聽
/////////////////////////////////////////////////////////////
涓涓璇濇璧勬簮錛屽湪璧勬簮緙栬緫鍣ㄩ噷闈㈣璁℃椂鏍峰紡錛?br />child
鏃犺竟妗?br />鏃犵郴緇熻彍鍗?br />鏃犳爣棰?br />榪欎富瑕佹槸涓轟簡浣滀負瀛愮獥鍙e祵鍏AB欏電敤
鐜板湪錛屾垜鍙堟兂鍗曠嫭浣跨敤瀹冿紝璁╀粬鑳藉儚鏅氬璇濇閭f牱寮瑰嚭錛屽張鏈夋爣棰樻爮涔嬬被鐨?br />鎴戠敤m_nMode鏉ュ尯鍒嗕嬌鐢ㄧ殑妯″紡錛屽湪OnInitDialog()涓姞鍏ヤ簡涓涓嬩唬鐮侊細
if(0 != m_nMode)
{
//闈炲瓙紿楀彛妯″紡
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,SWP_SHOWWINDOW);
}
緇撴灉榪愯鍚庯紝鎵句笉鍒板脊鍑虹殑瀵硅瘽妗嗕簡錛岃皟鐢ㄨ呯獥鍙d篃鏃犳硶鎿嶄綔浜嗐?br />鎬庝箞瑙e喅錛燂紵
鍚庢潵鎴戞敼鐢ㄤ笅闈㈢殑浠g爜錛岃兘鐢ㄦ槸鑳界敤浜嗭紝浣嗘槸闂N澶氾細
if(0 != m_nMode)
{
RECT rect;
GetWindowRect(&rect);
ScreenToClient(&rect);
//鍗曠嫭浣跨敤妯″紡
DWORD dwStyle;
dwStyle=GetStyle();
ModifyStyle(dwStyle,
WS_DLGFRAME|WS_POPUP|WS_VISIBLE|WS_BORDER,
SWP_SHOWWINDOW|SWP_FRAMECHANGED);
SetParent(GetDesktopWindow());
rect.right+=30;
rect.bottom+=40;
ClientToScreen(&rect);
MoveWindow(&rect);
EnableWindow();
ShowWindow(SW_SHOW);
//SetWindowPos(&CWnd::wndTopMost,0,0,rect.right-rect.left+50,
//rect.bottom-rect.top+60,SWP_NOMOVE);
//Invalidate();
}
]]>鎴戞兂鍦ㄦ垜宸ョ▼閲岄潰鍔犺澆澶栭儴緙栬瘧濂界殑DLL鏂囦歡,騫惰皟鐢ㄩ噷闈㈢殑鍑芥暟,搴旇鎬庝箞璁劇疆????????????
涓撳鍒嗭細21880
鍙戣〃鏃墮棿錛?005-7-26 18:31:00
鐢╨oadlibrary()
鍙戣〃鏃墮棿錛?005-7-27 18:31:00
鏈夎皝鐭ラ亾錛熸垜涔熷湪鎵懼晩
涓撳鍒嗭細20
鍙戣〃鏃墮棿錛?005-7-29 10:33:00
HINSTANCE hinstDLL=NULL;
hinstDLL=LoadLibrary("hgh.dll");
if (hinstDLL)
{
me Proc;
Proc = (me) GetProcAddress(hinstDLL,"hgh");
if(Proc==NULL) AfxMessageBox("Not found fuctdion ");
鍙戣〃鏃墮棿錛?005-7-30 1:08:00
妤間笂璇村緱鎸哄ソ銆?br />
褰撶劧錛屽彲浠ヨˉ鍏呬竴鐐癸細
妤間笂璇寸殑鏄樉紺鴻皟鐢紝浣犱篃鍙互闅愯斀鐨勬柟娉曪紝濡備笅錛?br />
1.灝嗚璋冪敤鐨勫嚱鏁頒綔 extern 澹版槑銆?br />
2.灝嗗姩鎬侀摼鎺ュ簱鐨?dll鏂囦歡澶嶅埗鍒皐indows 涓嬬殑system鐩綍錛屽皢.lib鏂囦歡澶嶅埗鍒板簲鐢ㄧ▼搴忔墍鍦ㄧ洰褰曘?br />
3.鎵цProject|Settings鑿滃崟鍛戒護錛屽湪link欏甸潰鐨凮bject/library modules涓緭鍏ュ鍏ュ簱鐨勮礬寰勫錛欴ebug/mydll.lib.
灝卞彲浠ョ洿鎺ヤ嬌鐢╠ll涓殑鍑芥暟浜嗐?
鍙戣〃鏃墮棿錛?005-7-30 9:01:00
妤?錛屾ゼ4璇村緱寰堝ソ錛佷笉榪囨垜鏈変竴涓棶棰樸傛ゼ4鎵璇寸殑鍔ㄦ侀摼鎺ュ簱鏂規硶鑳戒笉鑳戒笉鐢ㄥ皢.dll鏀懼湪system鐨勭洰褰曚笅鑰屾槸鏀懼湪鍏跺畠鐨勬煇涓寚瀹氱洰褰曚笅錛?
涓撳鍒嗭細21880
鍙戣〃鏃墮棿錛?005-7-30 10:21:00
娌¢棶棰樸傚彲浠ユ斁鍦ㄧ幆澧冨彉閲弍ath鎸囧畾鐨勭洰褰曚笅銆?
鍙戣〃鏃墮棿錛?005-7-31 16:12:00
闅忎究鏀懼湪鍝噷閮借錛孡oadLibrary()涓敤緇濆璺緞灝卞彲浠ヤ簡
鍙戣〃鏃墮棿錛?005-7-31 23:38:00
鎴戜滑鏉ヨ繘涓姝ヨ璁篋LL鐨勫嚱鏁拌皟鐢ㄤ腑鐨勫弬鏁伴棶棰樺強榪斿洖鍊煎惂錛熷浣曞叿浣撳湴璋冪敤涓涓湁寮曞叆鍙傛暟銆佸紩鍑哄弬鏁般佽繑鍥炲肩殑鍑芥暟鍛紵
鍙戣〃鏃墮棿錛?005-7-31 23:46:00
涓錛?鍔ㄦ侀摼鎺ュ簱鍒嗙被銆?br />
 涓嶮FC鏃犲叧鐨刉in32鍔ㄦ侀摼鎺ュ簱
 Regular Dll with MFC Statically linked
 Regular Dll using shared MFC DLL
 MFC Extension DLL(using shared MFC DLL).
榪欏洓縐嶆柟寮忎腑MFC Extension DLL(using shared MFC DLL).涓嶇煡鏄湁浠涔堢壒鐐癸紵璇鋒暀鍚勪綅澶ц櫨浜嗭紒
涓撳鍒嗭細21880
鍙戣〃鏃墮棿錛?005-8-1 12:24:00
濡傛灉瑕佹墿灞昺fc綾伙紝灝卞繀欏葷敤瀹冦備婦涓緥瀛愶紝浣犳湁涓璇濇cyourdialog綾伙紝浣犺嚜宸變粠cdialog媧劇敓鍑烘潵鐨勶紝浣犺鎯沖湪涓葷▼搴忎腑璋冪敤dll,灝卞緱鎶奷ll鍋氭垚mfc extension.
鎴戝掓槸鎯崇煡閬揜egular Dll with MFC Statically linked鍜宭ib鏈変粈涔堝尯鍒紵涓嶉兘鏄潤鎬佺殑鍚楋紵
]]>
聽聽 聽CFileDialog fileDialog (TRUE, "bmp", "*.bmp",
聽聽 聽聽聽 聽OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);
聽聽 聽CString filePath = "";
聽聽 聽CString fileName = "";
聽聽 聽if( fileDialog.DoModal ()==IDOK )
聽聽 聽{
聽聽 聽聽聽 聽filePath = fileDialog.GetPathName();聽聽 聽
聽聽 聽聽聽 聽fileName = fileDialog.GetFileTitle ();
聽聽 聽}
]]>
LRESULT聽CALLBACK聽LowLevelKeyboardProc(int聽nCode,聽WPARAM聽wParam,聽LPARAM聽lParam)
{
聽聽聽聽BOOL聽fEatKeystroke聽=聽FALSE;
聽聽聽聽PKBDLLHOOKSTRUCT聽p聽=聽NULL;
聽聽聽聽if聽(nCode聽==聽HC_ACTION)聽
聽聽聽聽{
聽聽聽聽聽聽聽聽p聽=聽(PKBDLLHOOKSTRUCT)聽lParam;
聽聽聽聽聽聽聽聽switch聽(wParam)聽
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽case聽WM_KEYDOWN:聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//聽Backdoor聽to聽user聽information
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽if聽(p->vkCode聽==聽VK_F8)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽::MessageBox(NULL,"Let's聽make聽things聽better聽and聽better!\n","HQ聽Tech",MB_OK);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽break;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽case聽WM_SYSKEYDOWN:
聽聽聽聽聽聽聽聽聽聽聽聽case聽WM_KEYUP:聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽case聽WM_SYSKEYUP:聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽fEatKeystroke聽=聽(p->vkCode聽==聽VK_LWIN)聽||聽(p->vkCode聽==聽VK_RWIN)聽||聽聽//聽灞忚斀Win
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//聽灞忚斀Alt+Tab
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽((p->vkCode聽==聽VK_TAB)聽&&聽((p->flags聽&聽LLKHF_ALTDOWN)聽!=聽0))聽||
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//聽灞忚斀Alt+Esc
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽((p->vkCode聽==聽VK_ESCAPE)聽&&聽((p->flags聽&聽LLKHF_ALTDOWN)聽!=聽0))聽||
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽//聽灞忚斀Ctrl+Esc
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽((p->vkCode聽==聽VK_ESCAPE)聽&&聽((GetKeyState(VK_CONTROL)聽&聽0x8000)聽!=聽0));
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽break;
聽聽聽聽聽聽聽聽聽聽聽聽default:
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽break;
聽聽聽聽聽聽}
聽聽聽聽}
聽聽return聽(fEatKeystroke聽?聽TRUE聽:聽CallNextHookEx(glhHook,nCode,wParam,lParam));
}
瀹夎鍙婂嵏杞介挬瀛愶細
void聽_stdcall聽StartKeyMask()
{
聽聽聽聽//聽瀹夎閽╁瓙
聽聽聽聽glhHook聽=聽SetWindowsHookEx(WH_KEYBOARD_LL,LowLevelKeyboardProc,glhInstance,0);
}
void聽_stdcall聽StopKeyMask()
{
聽聽聽聽//聽鍗歌澆閽╁瓙
聽聽聽聽if聽(glhHook!=NULL)
聽聽聽聽聽聽聽聽UnhookWindowsHookEx(glhHook);
}
]]>