TNB Library
TnbInputDesktopName.h
[詳解]
1#pragma once
11#include "TnbDef.h"
12
13
14
15//TNB Library
16namespace TNB
17{
18
19
20
32{
33public:
36 {
37 TCHAR name[100] = {0};
38 DWORD w;
39 HDESK h = ::GetThreadDesktop(::GetCurrentThreadId());
40 ::GetUserObjectInformation(h, UOI_NAME, name, 100, &w);
41 m_currentDesktopName = name;
42 }
43
48 LPCTSTR GetCurrentDesktopName(void) const
49 {
50 return m_currentDesktopName;
51 }
52
60 {
61 TCHAR name[100] = {0};
62 DWORD w;
63 HDESK h = ::OpenInputDesktop(0, FALSE, DESKTOP_ENUMERATE);
64 BOOL r = ::GetUserObjectInformation(h, UOI_NAME, name, 100, &w);
65 ::CloseDesktop(h);
66 _str = name;
67 return !! r;
68 }
69
75 bool IsEqualThreadDesktop(void) const
76 {
77 CSimpleStr str;
78 if ( GetNowInputDesktopName(str) )
79 {
80 return _tcscmp(str, m_currentDesktopName) == 0;
81 }
82 return false;
83 }
84
85private:
86 CSimpleStr m_currentDesktopName;
87};
88
89
90
91}; // TNB
92
TNBライブラリの定義ヘッダ
入力Desktop名クラス
CInputDesktopName(void)
コンストラクタ
LPCTSTR GetCurrentDesktopName(void) const
[取得] カレントDesktop名取得
bool GetNowInputDesktopName(CSimpleStr &_str) const
[取得] 現在の入力Desktop名取得
bool IsEqualThreadDesktop(void) const
[確認] カレントが現在の入力Desktopになっているか
簡易文字列管理クラス.
Definition: TnbDef.h:772
TNB Library
Definition: TnbDoxyTitle.txt:2