News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

IPC, WM_COPYDATA (IPC between desktops)

Started by Vozzie, September 25, 2012, 07:12:29 AM

Previous topic - Next topic

qWord

Quote from: Vozzie on October 03, 2012, 07:21:50 AM
BTW, i guess the RBT lib is a kind of linked list api. Do you have some documentation on it,...? :)
RBT = Read-Black tree. There is no documentation - I think the definitions and the function names speak for them self :-D
(I currently can't find the C Code that I've used for translation, but it is all based on algorithms that can be found in the book "Introduction to Algorithms; MIT Press".)
MREAL macros - when you need floating point arithmetic while assembling!

Vozzie

Quote from: qWord on October 03, 2012, 05:12:27 AM
Unfortunately it didn't find the desktop for all processes (even with Admin rights).

I guess that desktop name is there only when the application has a window( or hook, ...) on the desktop. I still need to compare the results with your code, but have some questions there, only am trying to find out as much as i can before i start asking questions...

SystemHandleInformation etc isn't very documented in the msdn , are those documented in the "DDK/WDK"?

Quote from: qWord on October 03, 2012, 05:12:27 AMIn the attachment a simple console program, that enumerates all processes, which owns a handle of specified desktop.

Did you update the code? Something important?

qWord

Quote from: Vozzie on October 04, 2012, 01:49:13 AMDid you update the code? Something important?
Not important to the functionality of the program, but I've made some changes to rbt.lib. I've also add some comments in rbt.inc.

Also take a look at this page: HOWTO: Enumerate handles
MREAL macros - when you need floating point arithmetic while assembling!

jj2007

Quote from: qWord on September 27, 2012, 04:45:21 PM
Whatever he will do it, the fun will begin when he recognize that it is dam hard (at least for Win7/Vista) to close/remove a desktop without rebooting or closing the curent session:  Windows,  AVs and other software may create processes for that desktop. Because they keep handles to the desktop, it required to find and kill them...

Just curious: Why should that be such a big problem? Normally, you don't create the desktop with the intention to close it soon after... just leave it running.

qWord

Quote from: jj2007 on October 04, 2012, 03:12:48 AMJust curious: Why should that be such a big problem? Normally, you don't create the desktop with the intention to close it soon after... just leave it running.
The problem is to remove it, when it is no longer needed ;)
MREAL macros - when you need floating point arithmetic while assembling!