0
我已經爲Windows 7創建了Credential Launcher,並且能夠在Tile按鈕單擊事件之後運行Windows應用程序,這非常容易。在GINA beofe登錄屏幕(命令行)中運行EXE應用程序
我添加了一些註冊表設置和*pbAutoLogon = FALSE;
。
但是現在我正在嘗試爲Windows XP做同樣的事情。
我應該針對哪個函數或者如何實現相同的結果?
我已經爲Windows 7創建了Credential Launcher,並且能夠在Tile按鈕單擊事件之後運行Windows應用程序,這非常容易。在GINA beofe登錄屏幕(命令行)中運行EXE應用程序
我添加了一些註冊表設置和*pbAutoLogon = FALSE;
。
但是現在我正在嘗試爲Windows XP做同樣的事情。
我應該針對哪個函數或者如何實現相同的結果?
我看到你用「Gina」標記了你的問題,所以我猜你知道證書提供者在XP上不存在。
你的答案取決於當正是你想要運行的程序,尤其是關於安全注意序列(SAS,或者當用戶按Ctrl-Alt-Delete鍵)
WlxDisplaySASNotice
WlxLoggedOutSAS
既然你不想寫一個整體GINA自己,你可以使用自定義吉娜換行msgina.dll
。 Here is one I wrote,你可以找到我從Platform SDK開始的原創。
使用計算策略,你有機會只是某些事件之前或剛過執行代碼,就像一個成功登錄後運行程序,是這樣的:
int WINAPI WlxLoggedOutSAS(PVOID pWlxContext, DWORD dwSasType, PLUID pAuthenticationId, PSID pLogonSid, PDWORD pdwOptions, PHANDLE phToken, PWLX_MPR_NOTIFY_INFO pMprNotifyInfo, PVOID * pProfile)
{
int result;
result = pfWlxLoggedOutSAS(pWlxContext, dwSasType, pAuthenticationId, pLogonSid, pdwOptions, phToken, pMprNotifyInfo, pProfile);
if (result == WLX_SAS_ACTION_LOGON)
{
//We have a successful logon, let's run our code
run_my_custom_code();
}
return result;
}
有一些注意事項,但:
Winlogon
將等待,但您的用戶可能不會。跨越一個進程並讓它運行。SYSTEM
的權限運行,這是一種安全風險。沙盒你的過程可能很難。如果你不能突破它,不要認爲沒有人可以...