CreateDesktop |
Declare Function Api_CreateDesktop& Lib "user32" Alias "CreateDesktopA" (ByVal lpszDesktop$, ByVal lpszDevice$, pDevmode As DEVMODE, ByVal dwFlags&, ByVal dwDesiredAccess&, lpsa As SECURITY_ATTRIBUTES) |
||||||||||||||||||||||||
Declare Function CreateDesktop Lib "user32" Alias "CreateDesktopA" (ByVal lpszDesktop As String, ByVal lpszDevice As String, pDevmode As DEVMODE, ByVal dwFlags As Long, ByVal dwDesiredAccess As Long, lpsa As SECURITY_ATTRIBUTES) As Long |
|||||||||||||||||||||||||
呼び出し側プロセスに関連付けられているウィンドウステーション上に、新しいデスクトップを作成する。この関数は、新しいデスクトップにアクセスするために使用できるハンドルを返す。呼び出し側プロセスに、プロセスの作成時にシステムが割り当てたウィンドウステーションか、SetProcessWindowStation 関数を使って設定したウィンドウステーションを関連付けておかなければならない。デスクトップとは、ウィンドウステーションオブジェクト内にある安全なオブジェクトのことである。デスクトップは1つの論理的なディスプレイ表面(display surface)と、ウィンドウ、メニュー、フックを備えている。 |
|||||||||||||||||||||||||
パラメータ
別しないが、円記号(\)を使うことはできない。 0 または次の値を指定する。
dwDesiredAccess しなければならない。CreateDesktop 関数は、内部でこのハンドルを使って 1 つのウィンドウを作成するからである。このほかに READ_CONTROL や WRITE_DAC などの標準的なアクセス権や、次のデスクトップ固有のアクセス権を任意に組み合わせて指定するこ とができる。
lpsa
のパラメータが NULL の場合、このハンドルは継承できない。
デスクトップは親ウィンドウステーションからセキュリティ記述子を継承する。
のデスクトップのハンドルが返る。このハンドルを使い終わった後は、CloseDesktop 関数を呼び出してこのハンドルを閉じる。 READ_CONTROL、WRITE_DAC、WRITE_OWNER のいずれかをセットしている場合、DESKTOP_READOBJECTS アクセス権と DESKTOP_WRITEOBJECTS アクセス権もセットしなければならない。 |