#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 -o runskype.exe runskype.c
Source: https://habr.com/ru/post/127558/
All Articles