Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / Component Services / February 2004

Tip: Looking for answers? Try searching our database.

CreateWindowStation

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Paul - 20 Feb 2004 09:42 GMT
Does anyone have the vb code to use this function I have found the API
import for this but not the layout of the structures that need to be passed
to the routine. I'm also looking for vb versions of

- CreateWindowStation
- SetProcessWindowStation
- CreateDesktop
- SetThreadDesktop
- GetGUIThreadInfo

Any help would be great. VB.NET please.

Thanks
P :-)
Mattias Sj?gren - 20 Feb 2004 20:03 GMT
Paul,

Try this

Structure RECT
 Public left, top, right, bottom As Integer
End Structure

Structure GUITHREADINFO
 Public cbSize As Integer
 Public flags As Integer
 Public hwndActive As IntPtr
 Public hwndFocus As IntPtr
 Public hwndCapture As IntPtr
 Public hwndMenuOwner As IntPtr
 Public hwndMoveSize As IntPtr
 Public hwndCaret As IntPtr
 Public rcCaret As RECT
End Structure

Structure SECURITY_ATTRIBUTES
 Public nLength As Integer
 Public lpSecurityDescriptor As IntPtr
 Public bInheritHandle As Boolean
End Strucure

Declare Auto Function CreateWindowStation Lib "user32.dll" (lpwinsta
As String, dwFlags As Integer, dwDesiredAccess As Integer, lpsa As
IntPtr) As IntPtr

Declare Function SetProcessWindowStation Lib "user32.dll" (hWinSta As
IntPtr) As Boolean

Declare Auto Function CreateDesktop Lib "user32.dll" (lpszDesktop As
String, lpszDevice As IntPtr, pDevmode As IntPtr, dwFlags As Integer,
dwDesiredAccess As Integer, lpsa As IntPtr) As IntPtr

Declare Function SetThreadDesktop Lib "user32.dll" (hDesktop As
IntPtr) As Boolean

Declare Function GetGUIThreadInfo Lib "user32.dll" (idThread As
Integer, ByRef lpgui As GUITHREADINFO) As Boolean

For CreateWindowStation and CreateDesktop, you can change the lpsa
parameter to ByRef lpsa As SECURITY_ATTRIBUTES if you actually want to
specify it (not pass NULL).

Mattias

Signature

Mattias Sjögren [MVP]  mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Paul - 22 Feb 2004 09:48 GMT
Thanks, I'll give the coding a go this week.

> Paul,
>
[quoted text clipped - 44 lines]
>
> Mattias
Paul - 24 Feb 2004 09:52 GMT
Hi.

The codes works great I can now create a new desktop and switch to this,
however the desktop shows blank with no icons and when I try to use the
CreateProcess API on open a new application on the desktop it says there was
an application fault. If I try CreateProceesWithLogon nothing happens. Any
ideas ?

Thanks
Paul

> Paul,
>
[quoted text clipped - 44 lines]
>
> Mattias
Mattias Sj?gren - 24 Feb 2004 21:59 GMT
Paul,

>Any ideas ?

No sorry, I don't have enough experience with these APIs so I'd have
to play with it some more before attempting to guess what may be
wrong.

Mattias

Signature

Mattias Sjögren [MVP]  mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.

Paul - 25 Feb 2004 11:36 GMT
Hi.

Write I've managed to get a new desktop and launch the process on the
desktop, the problem I'm having now is finding the window handle to the
newly spawned application. I've tried numerious examples of FindWindow etc
and it always returns 0. I think the problem is with the
SetDesktopThread(myNewDesktop) as this returns the following error

"The Following Windows Error Occured with SetThreadDesktop: 170 - The
requested resource is in use"

So I'm guessing this is why I cant find the window as the process thread is
not talking to the newly created desktop ?
Any ideas ?

PS: Sorted out the problem with the SwitchDesktop, as this can only be
called for the interactive window station so this works on WinSta0 and not
my newly created Window Station.

Thanks
Paul

> Paul,
>
[quoted text clipped - 5 lines]
>
> Mattias

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.