[[https://www.revelation.com/|Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community]] ==== Send key events (OpenInsight 32-bit Specific) ==== === At 17 NOV 2003 12:26:07PM Clay wrote: === {{tag>"OpenInsight 32-bit Specific"}} Is there any way to send a key press of the enter key? I have a msg that appears after exporting an xml file, but is executes another one right after that. The problem is that every time it finishes one file, a msg appears telling that its done. I just want to send the enter key press to bypass it. Thanks ---- === At 17 NOV 2003 12:26PM Donald Bakke wrote: === Clay, Perhaps I'm missing something because of the technical responses you've been getting. However, from what I read it sounds like this is a message box being generated from OI. If so, then why can't you send a CLICK event to the window's OK button? dbakke@srpcs.com [url=http://www.srpcs.com]SRP Computer Solutions, Inc.[/url] [img]http://www.srpcs.com/srpicon1.gif[/img] ---- === At 17 NOV 2003 12:26PM Ira Krakow wrote: === Clay, keybd_event is exported from USER32.DLL. You need to generate a stub function (with DECLARE_FCNS) so OI can recognize the exported function. To do that: 1) Go into SYSPROG. In a record (I create a record called DLL_USER32_EXTRA in SYSPROCS, to set it apart from DLL_USER32, which define the functions OI exports), enter the following two lines. USER32 LONG STDCALL keybd_event(BYTE, BYTE, LONG, LONG) 2) Save DLL_USER32_EXTRA. 3) In the System Editor Exec Line, enter: RUN DECLARE_FCNS 'DLL_API_USER32' If successful, you'll get a message that $KEYBD_EVENT was written to SYSOBJ. This lets OI see Keybd_event. 4) Exit SYSPROG, and log into your application. The code below will pass the ENTER key to a text box (say from a menu item). Uncomment the last two lines to simulate a click - you need to simulate a keyup as well. declare function keybd_event rv=' VK_ENTER=13 Scan_Code=0 Flags=0 Extra_Info=0 rv=keybd_event(VK_ENTER, Scan_Code, Flags, Extra_Info) /* to simulate a button click, add a keyup Flags=2 rv=keybd_event(VK_ENTER, Scan_Code, Flags, Extra_Info) */ Here's a link to keybd_event MSDN Web site: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/keybd_event.asp The virtual keys you can pass are documented here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp Ira ikrakow_1999@yahoo.com ---- === At 17 NOV 2003 12:26PM Gerald Lovel wrote: === Clay, I know the following code sends a delete key: keybd_event( 46, 0, 0, 0 ) Similar calls would handle other keys, based on the key mappings in the windows development include files. But why not set the message to non-display in the interface designer? One caution here, which I encountered just today, is that non-display messages do return a response. If you are checking response for a processing message image, this might cause an error. Gerald [[https://www.revelation.com/revweb/oecgi4p.php/O4W_HANDOFF?DESTN=O4W_RUN_FORM&INQID=NONWORKS_READ&SUMMARY=1&KEY=9BD549ED7FE62ACA85256DE1005FC6A8|View this thread on the forum...]]