мне необходимо создать простое gui-приложение для управления сервисом (страт/стоп/лог событий) на c++
в VS2008 создал WindowsFormApplication с помощью мастера, набросал эл-ты на форму и когда начал писать обработчики событий возникла проблема
при событии Form!_load выполняется след. код:
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
...
SERVICE_STATUS_PROCESS rdxStatus; //структура, в которой содержится информация о состоянии сервиса
...
if (!QueryServiceStatusEx( //ф-я заполняет структуру rdxStatus
rdxService,
SC_STATUS_PROCESS_INFO,
(LPBYTE) &rdxStatus,
sizeof(SERVICE_STATUS_PROCESS),
&bytesNeeded ) )
{
statusMessage = "QueryServiceStatusEx failed.";
CloseServiceHandle(rdxService);
CloseServiceHandle(rdxSCManager);
}
...
}
а при событии button2_MouseClick мне необходима эта заполненная структура:
private: System::Void button2_MouseClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
if ( !ControlService(
rdxService, // необходима структура заполненная при событии form1_load
SERVICE_CONTROL_STOP,
(LPSERVICE_STATUS) &rdxStatus ) )
{
statusMessage = "ControlService failed.";
} else {
statusMessage = "Trying to stop VzletService...";
}
...
}
Где и как следует объявить эту структуру, для того чтобы она была доступна из обоих функций?