Create a global system hook to intercept a window creation msg and modify the msg parameters using WinAPI
₹10000-25000 INR
已关闭
已发布将近 9 年前
₹10000-25000 INR
货到付款
I am writing a program that performs operations on the windows of a third-party application. I have a situation in which I need to work on the main window of the third-party application while a modal dialog box is open in it. I have done this in a new build of the same application by hiding the modal dialog box and activating the main window using the WinAPI functions ShowWindowAsync and EnableWindow. Using this method in the new build, I'm able to work on the main window of the application without any restrictions, while the dialog box is open but hidden in the background. But when I use the same functions to hide the dialog box in the old build of the application, I can work on the main window but I'm unable to use the shortcut keys of the main window. I have tried everything, searched a lot on the net, but I'm unable to find a direct solution to this problem. Probably an indirect method would be to make the dialog box modeless before it is created so that I'm able to use the shortcut keys on the main window.
For achieving that, I need a global system hook implemented which will 'intercept' a window creation message (for eg. WM_CREATE) when the dialog box is created (in the separate process). I then need to modify the message parameters so that the dialog box is created as a modeless dialog box, which would allow me to work on the main window and use its shortcuts after hiding the dialog box using the WinAPI functions mentioned above.
IMP: The target third-party application is an online application which works on a private leased-line network, due to which unfortunately I won't be able to help you to run it on your system for working on this project and testing it. Instead, I will provide you remote access to it on Teamviewer so that you can work on it online remotely. Please let me know if you have any concern regarding this.
I'm not a professional programmer, in fact I'm a finance person and switched to the software business as I was interested in it. So I'm not an expert in the technicalities and I need you to help me solve this problem, either by implementing this hooking mechanism or by any other method that you may know. You can use any language to write the dll for the hook, but as far as I have researched on the net, such a global system hook would be possible only in C++. I understand this information would not be sufficient enough to quote on this project, so please feel free to contact me to discuss the issue in detail.
Note: Time is not an issue, but please do not quote unless you are at least 90% sure that you can solve this problem.