Войти

Показать полную графическую версию : Запуск explorer.exe как оболочки Винды


Vagac
10-08-2009, 18:36
Помогите ни как не получается запустить explorer.exe как оболочку виндов (Shell)
С начала юзер логинится потом стартует моя прога а после ее завершения надо запустить Explorer.exe как оболочку
голову сломал уже как это сделать?
ShellExecute("Explorer.exe")

FlatX007
10-08-2009, 18:41
Run(@WindowsDir & "\explorer.exe")


ммм ?

Vagac
10-08-2009, 19:26
Спасибо огромное все работает Ура!

Nik_rus
10-08-2009, 20:59
А виндир не обязателен.
Run("explorer.exe")
Можно и так.

Vagac
12-08-2009, 12:54
Так нельзя Run("explorer.exe") потому что запускается не оболочка а открывается проводник.
Следующий код включен в автозагрузку групповой политикой после логина пользователя.
Этот код работает только почему то не все грузится в трей
#include <Process.au3>
#include <File.au3>
#NoTrayIcon

ProcessWait ("explorer.exe")
ProcessClose("explorer.exe")
$connect = _GetNetworkConnect()
If $connect Then

Else
Run(@WindowsDir & "\cmps.exe")
;Сеть Отсутствует
Exit
EndIf
$varPing = Ping("192.168.0.8",400)
If @error > 0 Then
;Пинг Отсутствует
Run(@WindowsDir & "\cmps.exe")
Exit
Else
;Пинг Нормальный
$rc = _RunDos('NET TIME \\192.168.0.1 /SET /Y')
Run(@WindowsDir & "\cmp.exe")
EndIf

Func _GetNetworkConnect()
Local Const $NETWORK_ALIVE_LAN = 0x1 ;net card connection
Local $aRet, $iResult
$aRet = DllCall("sensapi.dll", "int", "IsNetworkAlive", "int*", 0)
If BitAND($aRet[1], $NETWORK_ALIVE_LAN) Then $iResult &= "" & @LF
Return $iResult
EndFunc

FlatX007
12-08-2009, 18:58
Так нельзя Run("explorer.exe") потому что запускается не оболочка а открывается проводник. »

Да ну правда чтоли ... :) а если снять процесс explorer.exe и запустить как написано то всё работает...




© OSzone.net 2001-2012