通知
すべてクリア
2011年4月13日 3:38 PM
現在、サービスからログイン中(アクティブコンソール)のユーザ名を取得する方法として
以下のコードを
使用しています。 Windows7のリモートディスクトップ上で実行したところ、ユーザ名を
取得できませんでした。
確認したところ、WTSQuerySessionInformation()はTRUEを返しています。
ただし、リモート環境ではWTSGetActiveConsoleSessionId()が3、実機ログイン時は1を返
していました。
ユーザ名を取れない理由と、解決方法についてご教授をお願いできないでしょうか?
LPWSTR pVal;
DWORD dwSize = 0;
DWORD dwId = WTSGetActiveConsoleSessionId();
BOOL bRet =
WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE,dwId,WTSUserName,&pVal,&dwS
ize);
//確認
_tprintf(_T(確認!! :dwId =%d, bRet = %d, dwSize = %d, pVal = %s
\n),dwId,bRet,dwSize,pVal);
WTSFreeMemory(pVal);