如何用DELPHI代码实现获得本地计算机名(不用控件)?
解决方案 »
- DBGrid双击后颜色能不能修改?
- OLE中打开Excel为何独占对象呢?
- 急!IO错误!
- 100
- datasource1,circular datalinks are not allowed.请各位解惑
- 打印StringGrid内容的时候怎么根据StringGrid列的宽动态设制打印的列的宽.
- delphi+ado+access动态连接数据库问题!!!!我的分多的是,可用分已经有5000多了,谁解决了这个问题外加一百!
- delphi 7 如何释放动态创建的TbsSkinComboBox?
- 如何自定义工具栏???(又击Coolbar会弹出自定义工具栏,但我如何代码实现其弹出?)
- 请问各位高手,怎样动态生成一个控件??谢谢!!
- 两个button指向同一onclick事件问题
- 过程的参数,在线等!
var
SQLServer : Variant;
ServerList : Variant;
i,nServers : integer;
begin
Screen.Cursor := crHourGlass;
try
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
nServers:=ServerList.Count;
try
for i := 1 to nservers do
cbDBServer.Items.Add(ServerList.Item(i));
finally
SQLServer := Null;
ServerList := Null ;
end;
except
end;
Screen.Cursor := crDefault ;
FindOk := True;
var
S:PChar;
nSize:Cardinal;
begin
nSize:=MAX_COMPUTERNAME_LENGTH+1;
GetMem(S,nSize);
GetComputerName(S,nSize);
Result:=StrPas(S);
FreeMem(S);
end;
function TForm1.read_computername:string;
var
Areg:Tregistry;
begin
Result:='';
Areg:=TRegistry.Create;
with Areg do
begin
Try
bootKey:=HKEY_LOCAL_MACHINE;
If OpenKey('SYSTEM\ControlSet001\Control\ComputerName\ComputerName',false) Then
Begin
Try
result:=:=ReadString('ComputerName');
Except
End;
End;
closekey;
Finally
Free;//destroy;
end;
End;
end;
2:api函数
function GetCompName:String;
var Buff:Array[0..64]of Char;
Len:Cardinal;
begin
Len:=64;
GetComputerName(@Buff,Len);
Buff[Len]:=#0;
Result:=Buff;
end;