Hey,
Ik kwam vanmiddag het volgende artikel tegen:
http://www.codeguru.com/Cpp/misc/misc/article.php/c3807
Op die pagina staat uitgelegd wat je moet doen om de positie van je desktop icons wilt achterhalen.
Dit heb ik nodig voor een eigen programma, dus ik ben bezig gegaan het te bouwen in C# (het voorbeeld is in C++).
Het is me gelukt tot en met het achterhalen van het aantal icons op de desktop. Hierna is het de bedoeling om per icon de positie binnen te halen, maar dit schijnt niet zomaar te kunnen:
Dit laatste heb ik nog niet geprobeerd, want ik wil eigenlijk eerst aan de slag met shared memory, aangezien de VirtualAllocEx() oplossing alleen werkt op windows NT/XP bakken.
Als ik google naar shared memory kom ik wel van alles tegen, maar het is me nog steeds niet duidelijk, en al helemaal niet de manier waarop ik het zou kunnen toepassen om toch de positie van de icoontjes te kunnen achterhalen.
Heeft iemand hier ervaring mee, of heeft iemand een idee wat ik zou moeten doen?
Ik kwam vanmiddag het volgende artikel tegen:
http://www.codeguru.com/Cpp/misc/misc/article.php/c3807
Op die pagina staat uitgelegd wat je moet doen om de positie van je desktop icons wilt achterhalen.
Dit heb ik nodig voor een eigen programma, dus ik ben bezig gegaan het te bouwen in C# (het voorbeeld is in C++).
Het is me gelukt tot en met het achterhalen van het aantal icons op de desktop. Hierna is het de bedoeling om per icon de positie binnen te halen, maar dit schijnt niet zomaar te kunnen:
In het voorbeeld gaat de auteur niet bezig met shared memory, dat leek hem te moeilijk. Hij doet het met VirtualAllocEx().I did all of this, but the POINT structure never got filled. A very strange problem, indeed. The function returns TRUE, indicating success, but I get no info. After some thinking about the problem, it occurred to me. I'm sending the pointer to a place in the memory of my process, to another process. That pointer is not valid because each process has its own memory space. In other words, the pointer I send to the ListView isn't valid in its address space. So, now I need to have a pointer that is valid in the process space of the ListView, but I need to read it as well. So it's gonna need to be valid in both processes. To do this, you need to create shared memory.
Dit laatste heb ik nog niet geprobeerd, want ik wil eigenlijk eerst aan de slag met shared memory, aangezien de VirtualAllocEx() oplossing alleen werkt op windows NT/XP bakken.
Als ik google naar shared memory kom ik wel van alles tegen, maar het is me nog steeds niet duidelijk, en al helemaal niet de manier waarop ik het zou kunnen toepassen om toch de positie van de icoontjes te kunnen achterhalen.
Heeft iemand hier ervaring mee, of heeft iemand een idee wat ik zou moeten doen?