WM_COPYDATA
-
I'm still having trouble with this. I have a dll that uses the WM_COPYDATA to send a struct to a mainframe window. The struct has some longs (4 I think) and a char[256]. This has been working and does work on about 90% of PC's. A few customers and some in-house people do not see the text that is being passed. After checking into it, I have found that the pointer to the lpCopyDataStruct is not correct on the machines that have the problem. I can see where my struct begins by doing a memory dump starting at the erroneous pointer and it is there but much further down the line (maybe 40-50 bytes?)than where the pointer says it should be. Can anyonne think of a reason why this works most of the time but fails on certain PC's? I have reports that some NT, 2000, and XP machines have this trouble but not everyone with those OS's have the problem. Uuugh!! Thanks, Dave
-
I'm still having trouble with this. I have a dll that uses the WM_COPYDATA to send a struct to a mainframe window. The struct has some longs (4 I think) and a char[256]. This has been working and does work on about 90% of PC's. A few customers and some in-house people do not see the text that is being passed. After checking into it, I have found that the pointer to the lpCopyDataStruct is not correct on the machines that have the problem. I can see where my struct begins by doing a memory dump starting at the erroneous pointer and it is there but much further down the line (maybe 40-50 bytes?)than where the pointer says it should be. Can anyonne think of a reason why this works most of the time but fails on certain PC's? I have reports that some NT, 2000, and XP machines have this trouble but not everyone with those OS's have the problem. Uuugh!! Thanks, Dave
-
-
I'm not sure what that is. I'll see if I can find more info on it. Does that affect how the WM_COPYDATA message works?
-
Here's what fixed the problem: We noticed that two copies of Rundll32.exe were running and when they were killed, things worked. We looked into what was causing the Rundll32 to be executed and found that the tray application for the NVidia software was responsible. Once that was removed from the startup, things worked fine on both PC's where the trouble was reported. Those people can no longer use the tray app for the video card but they didn't need it. So, do you think it's something NVidia is doing, RunDll32, or just Windows that is at the root of the problem? Why would my pointer being passed in WM_COPYDATA get corrupt due to this app running? Thanks for your help, Dave.