рдиреЛрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рд╡рдЬрд╣
рд╣рд╛рд▓рд┐рдпрд╛ рд╕рд╡рд╛рд▓ рдерд╛ ред рдореИрдВ рд╕реНрдХрд╛рдЗрдк рд╣реЛрдо рд╡рд┐рдВрдбреЛ рд╕реЗ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рди рд╣реВрдВ рдЬреЛ рд╣рд░ рдмрд╛рд░ рдореБрдЭреЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдорджрдж рд╕реЗ рдореИрдВ рдЗрд╕рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЬреИрд╕рд╛ рдХреБрдЫ рдирд┐рдХрд▓рд╛ред рдХрд╛рд░реНрдпрдХреНрд░рдо
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ , рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдХреЛрдб рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд░реНрдмреЛрдЬрд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
- рд╣рдо рд░рдЬрд┐рд╕реНрдЯреНрд░реА рд╕реЗ рдЙрд╕ рдкрде рд╕реЗ рд╕реАрдЦрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ Skype рд╕реНрдерд╛рдкрд┐рдд рд╣реИред
рдпрд╣ HKEY_CURRENT_USER \ Software \ Skype \ Phone \ SkypePath рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИред - рдирдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ Skype.exe рдЪрд▓рд╛рдПрдБред
- рд╕реНрдХрд╛рдЗрдк рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ, рд╣рдо 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП "рд╕реНрдХрд╛рдЗрдк рд╣реЛрдо" рдпрд╛ "рд╕реНрдХрд╛рдЗрдк рд╣реЛрдо рдкреЗрдЬ" рд╢реАрд░реНрд╖рдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдВрдбреЛ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдпрд╣ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ред
- рдЗрд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП WM_CLOSE рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВред
Runskype.c рдкрд╛рда
#include <windows.h> BOOL RunSkype() { STARTUPINFO si; PROCESS_INFORMATION pi; HKEY key; BYTE appPath[512]; DWORD pathSize = sizeof(appPath); BOOL result = FALSE; // HKEY_CURRENT_USER\Software\Skype\Phone\SkypePath Skype if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Skype\\Phone", 0, KEY_READ, &key)==ERROR_SUCCESS) { if (RegQueryValueEx(key, "SkypePath", NULL, NULL, appPath, &pathSize)==ERROR_SUCCESS) { // Skype.exe ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); result = CreateProcess(appPath, NULL, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } RegCloseKey(key); } return result; } int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { if (RunSkype()) { // 30 Skype Skype Home int i; for (i = 0; i < 3000; i++) { // THomeForm Inspect Objects Windows SDK // "Skype Home", " Skype" HWND wnd = FindWindow("THomeForm", "Skype Home"); if (!wnd) { wnd = FindWindow("THomeForm", " Skype"); } // , if (wnd && IsWindowVisible(wnd)) { SendMessage(wnd, WM_CLOSE, 0, 0); return 0; } // , 10 Sleep(10); } } return 1; }
рд╕рдВрдХрд▓рди
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
cl user32.lib advapi32.lib runskype.c
GCC (MINGW) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:
gcc -o runskype.exe runskype.c
рдиреЛрдЯ:рд╕реНрдХрд╛рдЗрдк рдореЗрдВ, рдХреЙрдореНрдкреИрдХреНрдЯ рд╡реНрдпреВ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдВрдбреЛрдЬ 7 рдФрд░ рд╕реНрдХрд╛рдЗрдк 5.5.0 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдмреЗрд╢рдХ, рд╡рд░реНрдгрд┐рдд рддрдВрддреНрд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реИред