Mit dem windowseigenen Programm NETSH kann man das machen:
Zitat:
Das Befehlszeilenprogramm "Netsh"
Bei Netsh handelt es sich um ein Befehlszeilen- und Skriptprogramm für Netzwerkkomponenten, die auf lokalen oder Remotecomputern eingesetzt werden. Mit dem Dienstprogramm Netsh kann darüber hinaus ein Konfigurationsskript in einer Textdatei gespeichert werden, um die Konfiguration zu archivieren und für weitere Server zu verwenden.
http://msdn.microsoft.com/de-de/libr...=ws.10%29.aspx
Beispiele:
Delphi-Quellcode:
procedure RunAsAdmin(hWnd: HWND; aFile: string; aParameters: string);
var sei: TShellExecuteInfo;
begin
FillChar(sei, SizeOf(sei), 0);
sei.cbSize := sizeof(sei);
sei.Wnd := hWnd;
sei.fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI;
sei.lpVerb := 'runas';
sei.lpFile := PChar(aFile);
sei.lpParameters := PChar(aParameters);
sei.nShow := SW_HIDE; // SW_SHOWNORMAL); SW_HIDE;
if not ShellExecuteEx(@sei) then RaiseLastOSError;
end;
....
BEGIN //wlan on
strParams:= 'wlan delete filter permission=denyall networktype=infrastructure';
RunAsAdmin(Application.Handle,'netsh', strParams);
strParams:= 'wlan delete filter permission=denyall networktype=adhoc';
RunAsAdmin(Application.Handle,'netsh', strParams);
END
...
BEGIN //wlan off
strParams:= 'wlan add filter permission=denyall networktype=infrastructure';
RunAsAdmin(Application.Handle,'netsh', strParams);
strParams:= 'wlan add filter permission=denyall networktype=adhoc';
RunAsAdmin(Application.Handle,'netsh', strParams);
END
...
BEGIN //wwan on
strParams:= 'mbn connect interface="Mobile Broadband Connection"';
RunAsAdmin(Application.Handle,'netsh', strParams);
END
...
BEGIN //wwan off
strParams:= 'mbn disconnect interface="Mobile Broadband Connection"';
RunAsAdmin(Application.Handle,'netsh', strParams);
END;