지금 하고 있는 프로그램중에서 나이렉스에 있는 tip을 사용한 걸 알게 되었습니다..
근데 그게 제대로 작동하지 않더군요...
위의 제목이 그건데... 실제로 그 함수가 옳은 값을 가지지 못합니다...
lpData 가 항상 0이란 값을 가지는데...
접속시와 접속이 되지 않을때를 구분하지 못하는 것 같군요...
그 Tip부분에 대한 보충설명이 필요합니다...
도와주세염...
// Try this code...
unit IE_Connected;
interface
uses
Windows, Messages, SysUtils, Controls, Dialogs, StdCtrls, Registry;
function HasWebConnection: boolean ;
implementation
function HasWebConnection: boolean ;
const
cMsg = 'Place your error message here ' ; { for demoing only }
sSubKey = 'SystemCurrentControlSetServicesRemoteAccess' ;
sKeyValue = 'Remote Connection' ;
var
pKey: hKey ;
lpData, DataSize: Longint ;
begin
lpData := $0 ;
if RegOpenKeyEx(HKEY_LOCAL_MACHINE,sSubKey,0,KEY_QUERY_VALUE,pKey) = 0
then begin
try
DataSize := Sizeof(lpData);
if RegQueryValueEx(pKey,sKeyValue,nil,nil,@lpData,@DataSize) <> 0
then
raise Exception.Create(cMsg + #13 + SysErrorMessage(GetLastError)) ;
finally
RegCloseKey(pKey) ;
end;
if lpData > 0 then //여기서 연결여부를 찾지 못합니다.. 항상 0의 값을 되돌리죠...
Result := True //그래서 항상 False의 값을 가지는데...
else //뭐가 문젠지 모르겠네여...
Result := False ;
end else
raise Exception.Create(cMsg + #13 + SysErrorMessage(GetLastError)) ;
end ;
end.
// Form Kevin S. Gallagher
글쿠 나이렉스 사장님인 이정욱님께서 올린것 중에도 이상것이 있더군요...
"LAN이나 인터넷에 접속이 되어있는지 검사하기." 라는 제목으로 올라와 있는데..
실제로 랜케이블이 접속되어 있지 않아도 검사할수 없다는 메시지는 나오지 않습니다...
단지 장치만 검색하는건 아닌지요?
초보 델피언 한명 살려주시는 셈치고 도와주십시오...
그럼...
즐거운 프로그래밍을 위해....