использование структуры
От: qdrj  
Дата: 17.01.10 12:08
Оценка:
мне необходимо создать простое 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...";
    }

    ...
}


Где и как следует объявить эту структуру, для того чтобы она была доступна из обоих функций?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.