Click here to Skip to main content
15,911,306 members
Home / Discussions / C#
   

C#

 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot6-May-07 14:28
balanjingot6-May-07 14:28 
AnswerRe: Object reference not set to an instance of an object. Pin
AFSEKI7-May-07 3:07
AFSEKI7-May-07 3:07 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot7-May-07 14:32
balanjingot7-May-07 14:32 
QuestionHow to expand/decompress RAR archives with C#? Pin
Uwe Keim4-May-07 10:56
sitebuilderUwe Keim4-May-07 10:56 
AnswerRe: How to expand/decompress RAR archives with C#? Pin
Tarakeshwar Reddy4-May-07 11:04
professionalTarakeshwar Reddy4-May-07 11:04 
GeneralRe: How to expand/decompress RAR archives with C#? Pin
Uwe Keim4-May-07 11:09
sitebuilderUwe Keim4-May-07 11:09 
AnswerRe: How to expand/decompress RAR archives with C#? Pin
Uwe Keim4-May-07 11:04
sitebuilderUwe Keim4-May-07 11:04 
Questionloading form 1 after the other Pin
samreengr84-May-07 10:50
samreengr84-May-07 10:50 
AnswerRe: loading form 1 after the other Pin
MoustafaS4-May-07 12:36
MoustafaS4-May-07 12:36 
AnswerRe: loading form 1 after the other Pin
Arun.Immanuel4-May-07 16:12
Arun.Immanuel4-May-07 16:12 
AnswerRe: loading form 1 after the other Pin
AFSEKI7-May-07 3:13
AFSEKI7-May-07 3:13 
Questionhow to align the label controls in group box according to their text size Pin
engsrini4-May-07 10:35
engsrini4-May-07 10:35 
QuestionComboBox ... Pin
mostafa_h4-May-07 8:44
mostafa_h4-May-07 8:44 
AnswerRe: ComboBox ... Pin
AFSEKI7-May-07 3:14
AFSEKI7-May-07 3:14 
QuestionDesktop icon positioning/re-positioning... Pin
SeanWcom4-May-07 8:20
SeanWcom4-May-07 8:20 
AnswerRe: Desktop icon positioning/re-positioning... Pin
Luc Pattyn4-May-07 8:53
sitebuilderLuc Pattyn4-May-07 8:53 
Hi,


this is a very complex matter, that involves many P/Invoke functions, and consists
of the following steps:

1. find the handle to the listview: in Windows XP the desktop is a listview; to get there,
you must descend the chain "Progman", "SHELLDLL_DefView", "SysListView32".

2. for each of the icons, send an LVM_GETITEMPOSITION or LVM_SETITEMPOSITION message.
Since the message goes to another process and requires a data pointer, that data pointer
must be valid in the other process, so you must first allocate memory in that process.
You will probably need the following prototypes:

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern int OpenProcess(uint access, bool inheritHandle,
    uint procID);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern bool CloseHandle(int handle);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern IntPtr VirtualAllocEx(int hProcess, int address,
    int size, uint allocationType, uint protection);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern bool VirtualFreeEx(int hProcess, IntPtr address,
    int size, uint freeType);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern bool WriteProcessMemory(int hProcess,
    IntPtr otherAddress, IntPtr localAddress, int size,
    ref uint bytesWritten);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern bool ReadProcessMemory(int hProcess,
    IntPtr otherAddress, IntPtr localAddress, int size,
    ref uint bytesRead);

[DllImport("kernel32.dll", CallingConvention=CallingConvention.StdCall)]
private static extern bool ReadProcessMemory(int hProcess,
    IntPtr otherAddress, StringBuilder localAddress, int size,
    ref uint bytesRead);


Then there will appear one major problem: moving an icon to a position that is occupied
makes Explorer reshuffle a lot of icons; so dont expect to easily get the layout you hope.

If you succeed, please let me know !

Smile | :)






Luc Pattyn

[My Articles]

GeneralRe: Desktop icon positioning/re-positioning... Pin
SeanWcom4-May-07 9:39
SeanWcom4-May-07 9:39 
AnswerRe: Desktop icon positioning/re-positioning... Pin
AFSEKI7-May-07 3:17
AFSEKI7-May-07 3:17 
GeneralRe: Desktop icon positioning/re-positioning... Pin
SeanWcom7-May-07 3:21
SeanWcom7-May-07 3:21 
QuestionCreate ToolBar? Pin
god4k4-May-07 8:14
god4k4-May-07 8:14 
Questionnetwork Pin
Jeeva Jose4-May-07 7:15
Jeeva Jose4-May-07 7:15 
AnswerRe: network Pin
Dave Kreskowiak4-May-07 7:58
mveDave Kreskowiak4-May-07 7:58 
AnswerRe: network Pin
Ian Shlasko4-May-07 8:11
Ian Shlasko4-May-07 8:11 
GeneralRe: network Pin
Paul Conrad4-May-07 16:20
professionalPaul Conrad4-May-07 16:20 
Questionhow to execute another application thru C#? Pin
Eddymvp4-May-07 5:54
Eddymvp4-May-07 5:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.