/*---------------------------------------
snmp資訊刺探程式
#include
#include
#include
#include
#pragma comment(lib,"mgmtapi.lib")
#pragma comment(lib,"snmpapi.lib")
//利用 snmp api時需要以上標頭檔案和庫檔案
#define get 1 //get,就理解成獲取乙個資訊。
#define getnext 2 //getnext,就理解成獲取下乙個資訊。
#define walk 3 //walk,就理解成獲取一堆資訊,即所有資料庫子樹/子目錄的資訊
#define timeout 6000 /* milliseconds */
#define retries 3
//一些有用的oid
char *snmpoid[5]=;// 列出系統資訊
void usage(char *name)
else
printf("%s\n",snmpoid[i]);
// 把字串轉換成標準oid
if (!snmpmgrstrtooid(snmpoid[i], &reqobject))
else
variablebindings.list[variablebindings.len - 1].name=reqobject;
variablebindings.list[variablebindings.len - 1].value.asntype=asn_null;
}// make sure only one variable binding was specified if operation
// is walk.
if (operation == walk && variablebindings.len != 1)
// establish a snmp session to communicate with the remote agent. the
// community, communications timeout, and communications retry count
// for the session are also required.
if ((session = snmpmgropen(agent, community, timeout, retries)) == null)
} // end if
else
if (errorstatus > 0)
else
} // end if()
// 準備下一次查詢
snmputiloidcpy(&tempoid, &variablebindings.list[0].name);
snmputilvarbindfree(&variablebindings.list[0]);
snmputiloidcpy(&variablebindings.list[0].name, &tempoid);
variablebindings.list[0].value.asntype = asn_null;
snmputiloidfree(&tempoid);
} // end while()
// 釋放資源
snmputilvarbindlistfree(&variablebindings);
snmputiloidfree(&root);
}// 關閉 snmp session
if (!snmpmgrclose(session))//清理退出
return 0;
}
獲取其他程式的資訊 VC實現
介紹 最近正試著從其他程式的listview控制項中獲取資訊,因為需要傳遞乙個指標以便存放取得的字串,但windows使用的是虛擬記憶體,指標是不允許跨程序訪問的。windows是這樣通過虛擬記憶體來管理分配給所有應用程式的記憶體的 它讓程式認為自己擁有2gb的記憶體空間可用,它也通過保護來避免程式...
VC 實現程式全屏顯示
全屏顯示在許多應用程式中都得到了應用。實現此功能的原理很簡單 cwnd類中movewindow 函式可以按照指定引數來顯示視窗。在執行視窗最大化以前利用getwindowplacement 函式先把視窗的當前位置儲存在乙個變數中,執行視窗最大化後可以通過setwindowplacement 函式呼叫...
VC 實現程式全屏顯示
全屏顯示在許多應用程式中都得到了應用。實現此功能的原理很簡單 cwnd類中movewindow 函式可以按照指定引數來顯示視窗。在執行視窗最大化以前利用getwindowplacement 函式先把視窗的當前位置儲存在乙個變數中,執行視窗最大化後可以通過setwindowplacement 函式呼叫...