全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3394
推到 Plurk!
推到 Facebook!

請問在win7上讀取reg的com port資料

缺席
vk8051
一般會員


發表:22
回覆:33
積分:21
註冊:2007-08-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-24 17:22:38 IP:210.71.xxx.xxx 訂閱
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
// [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM]
// "\\Device\\PTSerial0"="COM3"
// "\\Device\\Serial0"="COM1"
TStringList *tmp= new TStringList;
TRegistry *reg= new TRegistry;
StringGrid1->Cells[0][0]="COM Port";
StringGrid1->Cells[1][0]="Physical Location";
StringGrid1->Cells[2][0]="In Use";
reg->RootKey = HKEY_LOCAL_MACHINE;
if( reg->OpenKey("\\HARDWARE\\DEVICEMAP\\SERIALCOMM",false) )
{
reg->GetValueNames(tmp);
Label1->Caption=String(tmp->Count) " COM Ports";
for(int i=0; iCount; i )
{
AnsiString ascom=reg->ReadString(tmp->Strings[i]);
int icom=ascom.SubString(4,1).ToIntDef(0);
if(icom>0 && icom<=255)
{
StringGrid1->Cells[0][icom]=ascom;
StringGrid1->Cells[1][icom]=tmp->Strings[i];
}
}
}
else
{
ShowMessage("Open NG!!");
}
reg->CloseKey();
delete reg;
delete tmp;
}
//---------------------------------------------------------------------------

這是在站內找到的範例,但是我在我的電腦上試都沒辦法reg->OpenKey("\\HARDWARE\\DEVICEMAP\\SERIALCOMM",false) 成功,所以請問是win7的關係嗎,還是我那邊有寫錯..
謝謝
------
vincent
macroz
一般會員


發表:0
回覆:1
積分:0
註冊:2003-02-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-10-12 00:18:54 IP:222.248.xxx.xxx 訂閱
你嘗試用管理員的權限運行。
系統時間:2024-12-04 1:32:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!