Click here to Skip to main content
15,903,175 members
Home / Discussions / C#
   

C#

 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot4-May-07 20:04
balanjingot4-May-07 20:04 
GeneralRe: Object reference not set to an instance of an object. Pin
lmoelleb4-May-07 21:16
lmoelleb4-May-07 21:16 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot4-May-07 21:49
balanjingot4-May-07 21:49 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot4-May-07 21:46
balanjingot4-May-07 21:46 
GeneralRe: Object reference not set to an instance of an object. Pin
PIEBALDconsult5-May-07 4:14
mvePIEBALDconsult5-May-07 4:14 
GeneralRe: Object reference not set to an instance of an object. Pin
PIEBALDconsult5-May-07 4:45
mvePIEBALDconsult5-May-07 4:45 
GeneralRe: Object reference not set to an instance of an object. Pin
PIEBALDconsult5-May-07 5:01
mvePIEBALDconsult5-May-07 5:01 
GeneralRe: Object reference not set to an instance of an object. Pin
balanjingot6-May-07 14:23
balanjingot6-May-07 14:23 
AnswerRe: Object reference not set to an instance of an object. Pin
Rob Graham5-May-07 12:08
Rob Graham5-May-07 12:08 
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]

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.