Страница 22 из 24 50)-------------------------------------------------------------------------- Q> Как программно поменять IP адрес? 1. Открываем HKEY_LOCAL_MACHINE 2. Ищем subKey = SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards \"netcard# " "netcard# " номер сетевой карты (обычно 1) 3. Берем значение "ServiceName" 4. Ищем subKey = SYSTEM\CurrentControlSet\Services\"ServiceName" \Parameters\TcpIp" 5. Устанавливаем "IpAddress" для смены IP адреса 6. Устанавливаем "SubnetMask" для смены subnet mask 7. Устанавливаем "DefaultGateway" для смены default gateway 8. Перегружаемся. Q> Как программно поменять HostName? 1. Открываем HKEY_LOCAL_MACHINE 2. Ищем subKey = SYSTEM\CurrentControlSet\Services\TcpIp\Parameters 3. Устанавливаем значение "HostName" 4. Ищем subKey = SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName 5. Устанавливаем значение "ComputerName" 6. Перегружаемся. Внимание: Неправильное исправление этих значений регистри может вызвать большие проблемы. Использовать на свой страх и риск. 51)---------------------------------------------------------------------------- Q> Как программно нажать кнопку "Start" ? #include void main(void) { HWND hTaskBar, hButton; HDC hDCScreen = GetDC(NULL); DWORD ScreenHeight=GetDeviceCaps(hDCScreen,VERTRES); ReleaseDC(NULL, hDCScreen); hTaskBar= FindWindow("Shell_TrayWnd",NULL); hButton= GetWindow(hTaskBar, GW_CHILD); // Hажать кнопку "Пуск" SendMessage(hButton, WM_LBUTTONDOWN,MK_LBUTTON,LOWORD(5)+ HIWORD(ScreenHeight-20)); // Дальше только ради прикола... // Спрячем кнопку "Пуск" ShowWindow(hButton, SW_HIDE); // Насладимся эрелищем 2 секунды Sleep(2000); // Покажем кнопку "Пуск" ShowWindow(hButton, SW_NORMAL); } 52)---------------------------------------------------------------------------
Q> Как убрать таскбар? HWND H; H=FindWindow("Shell_TrayWnd",NULL); //находим хандл окна таскбара ShowWindow(H, SW_HIDE);//делаем его невидимым Sleep(2000); ShowWindow(H, SW_SHOW);//делаем его видимым } 53)----------------------------------------------------------------------------
Q> Как в GUI приложении открыть консоль и назначить stdin,stdout,stderr? #include #include #include #include BOOL CreateConsole(void) { FreeConsole(); //на всякий случай if ( AllocConsole() ) { int hCrt = _open_osfhandle((long) GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT); *stdout = *(::_fdopen(hCrt, "w")); ::setvbuf(stdout, NULL, _IONBF, 0); *stderr = *(::_fdopen(hCrt, "w")); ::setvbuf(stderr, NULL, _IONBF, 0); return TRUE; }return FALSE; } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { CreateConsole(); printf("WinMain with Console test\n"); MSG msg; while (GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return TRUE; } |