|
¾Æ·¡ÀÇ °æ¿ì´Â Á¦°¡ ÀǵµÀûÀ¸·Î ¹ß»ý½ÃŲ °æ¿ìÀÔ´Ï´Ù¸¸...
(±ÇÇÑ»ó½ÂâÀÌ ¶ß±â Á÷Àü¿¡ ÀÛ¾÷Ç¥½ÃÁÙÀÇ ´Ù¸¥ ÇÁ·Î±×·¥À» ´©¸£°í ÀÖÀ¸¸é ¹ß»ýÇÕ´Ï´Ù.)

UAC ±ÇÇÑ »ó½Â ¿äû ȸéÀÌ ÃÖ¼ÒÈ µÇ¾î ÀÛ¾÷Ç¥½ÃÁÙ¿¡¼ ±ô¹ÚÀ̰í ÀÖÀ» °æ¿ì°¡ ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ°¡ ´«Ä¡Ã¤Áö ¸øÇÏ°í ´Ù¸¥ÀÛ¾÷À» ÀÌ¾î¼ °è¼Ó ÇÏ°Ô µÇ¸é °³¹ßÀÚ°¡ ÀǵµÇÏÁö ¾ÊÀº ¿À·ù°¡ ¹ß»ýÇÏ°Ô µË´Ï´Ù.
(¿¹: ActiveX°¡ ±ÇÇÑ »ó½ÂÀ» ´ë±âÁßÀ϶§ ´Ù¸¥ ÆäÀÌÁö¸¦ Ž»ö)
ÀÌ Çö»óÀº ¾²·¹µå¸¦ »ç¿ëÇÑ »óÅ¿¡¼ ±ÇÇÑ»ó½ÂÀ» ¿äûÇÒ °æ¿ì CoCreateInstanceAsAdmin ÇÔ¼ö¿¡
hwnd°ªÀ» null·Î ³Ñ°ÜÁÖ¸é ¹ß»ýÇÕ´Ï´Ù.
(ShellExecuteEx ÇÔ¼ö¿¡¼µµ ¹ß»ýÇÑ´Ù°í ÇÕ´Ï´Ù...)
ÇØ°á¹æ¹ýÀº GetForegroundWindowÇÔ¼ö¸¦ »ç¿ëÇÏ¿© hwnd ÀÎÀÚ¸¦ ³Ñ°ÜÁÖ¸é µË´Ï´Ù...
CoCreateInstanceAsAdmin ÇÔ¼öÀÇ °æ¿ì
[-] Collapse
HWND hwndParent = GetForegroundWindow(); hr = CoCreateInstanceAsAdmin(hwndParent, guidCurrentObject, iidCurrentObject, (void**)(&objElevator), TRUE);
ShellExecuteEx ÇÔ¼öÀÇ °æ¿ì
[-] Collapse
SHELLEXECUTEINFO si; ZeroMemory(&si, sizeof(SHELLEXECUTEINFO)); si.cbSize = sizeof(SHELLEXECUTEINFO); si.lpVerb = __TEXT("runas"); //mode : print, write si.lpFile = __TEXT("abc.exe"); //½ÇÇàÆÄÀÏ TCHAR appPath[_MAX_PATH]; GetCurrentDirectory(_MAX_PATH, appPath); si.lpDirectory = appPath; si.hwnd = GetForegroundWindow(); si.nShow = SW_SHOW; //SW_HIDE si.fMask = SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_DDEWAIT; ShellExecuteEx(&si);
´ÙÀ½Àº Á¦°¡ Âü°íÇÑ ¿ø¹®ÀÔ´Ï´Ù...
http://social.msdn.microsoft.com/Forums/en-US/windowssecurity/thread/07cf27b0-ac60-4469-a440-34c0b1a4a73f |