列舉服務:
void cservermanagedlg::showservicelist(dword dwservicetype)
dword dwbufsize = 512 * sizeof(enum_service_status);
dword dwbyteneeded, dwservicereturned, lpresumehandle = 0;
enum_service_status serstatus[512] = ;
bool bret = enumservicesstatus(hscm, dwservicetype, service_state_all, serstatus, dwbufsize,
&dwbyteneeded, &dwservicereturned, &lpresumehandle);
for(dword i=0; i.format("%d", i);
m_servicelist.insertitem(i, str);
m_servicelist.setitemtext(i, 1, serstatus[i].lpservicename); //服務名
m_servicelist.setitemtext(i, 2, serstatus[i].lpdisplayname); //顯示名稱
switch(serstatus[i].servicestatus
.dwcurrentstate) //服務當前狀態
case service_stopped:
case service_running:
default:
m_servicelist.setitemtext(i, 3, "其他");}}
closeservicehandle(hscm);
}
啟動服務:
void cservermanagedlg::onbuttonstart()
if(-1 == nselected)
//獲取選中的服務的服務名
char szservicename[maxbyte] = ;
m_servicelist.getitemtext(nselected, 1, szservicename, maxbyte);
sc_handle hscm = openscmanager(null, null, sc_manager_all_access);
if(null == hscm)
sc_handle hscservice = openservice(hscm, szservicename, service_all_access);
//啟動服務
bool bret = startservice(hscservice, 0, null);
if(bret == true)
m_servicelist.setitemtext(nselected, 3, "執行");
else
int n = getlasterror();
closeservicehandle(hscservice);
closeservicehandle(hscm);
}
停止服務:
void cservermanagedlg::onbuttonstop()
if(-1 == nselected)
//獲取選中的服務的服務名
char szservicename[maxbyte] = ;
m_servicelist.getitemtext(nselected, 1, szservicename, maxbyte);
sc_handle hscm = openscmanager(null, null, sc_manager_all_access);
if(null == hscm)
sc_handle hscservice = openservice(hscm, szservicename, service_all_access);
service_status servicestatus;
//停止服務
bool bret = controlservice(hscservice, service_control_stop, &servicestatus);
if(bret == true)
m_servicelist.setitemtext(nselected, 3, "停止");
else
int n = getlasterror();
closeservicehandle(hscservice);
closeservicehandle(hscm);
}
初始化:
程式設計相關文章
2016 6 libevent學習 fast portable non blocking network programming with libevent libevent原始碼分析 the way to go go入門指南 nginx開發從入門到精通 nginx模組開發入門 redis原始碼分析...
網路程式設計相關
http協議中get和post有什麼區別,cookie 和 essions有什麼不同和聯絡?音未公司 get是從伺服器上獲取資料,post是向伺服器傳送資料 get相對於post的話不安全,傳輸的資料一般明文顯示在 中,post一般使用者表單的提交,資料通過 l加密傳輸 get傳送的資料有限制,不能...
oracle相關服務介紹
成功安裝oracle 11g資料庫後,你會發現自己電腦執行速度會變慢,配置較低的電腦甚至出現非常卡的狀況,通過禁止非必須開啟的oracle服務可以提公升電腦的執行速度。那麼,具體該怎麼做呢?按照win7 64位環境下oracle 11g r2安裝詳解中的方法成功安裝oracle 11g後,共有7個服...