2010-08-27 102 views
0

我有一個時髦的情況,某些批處理類型應用程序在控制檯上運行時(通過RDP或物理登錄到該框)正常工作,但在非控制檯會話中通過RDP運行時無法正常工作或者,就此而言,由Windows任務計劃程序執行時。如何強制進程在Windows 2003服務器上的控制檯上運行?

我知道如何通過編程確定我的進程是否在控制檯上運行,或者通過檢查SESSIONNAME環境變量。我的問題是,如果我確定我沒有在控制檯上運行,我想要切換到控制檯(似乎不太可能是由於窗口站限制),或者更有可能重新啓動該過程,但強制它在控制檯會話上運行。

對於通過Windows任務計劃程序啓動的進程而言,這確實是個問題,因爲它們似乎無法在控制檯上運行。

回答

0

我想你可以通過WTSGetActiveConsoleSessionId,WTSQueryUserToken和CreateProcessAsUser的組合在控制檯會話中創建進程。

相關問題