Keybd_event with third party Virtual Key and WM_KEYDOWN

Hi All,
I want to use keybd_event() to send this third party virtual key called VK_OEM_CLR or 0xF5 to other application.
Third party header file defined:
#define VK_OEM_CLR 0xF5
The application that sends the key:
keybd_event(VK_OEM_CLR , 0, KEYEVENTF_EXTENDEDKEY, 0);//try this, but other application does not receive WM_KEYDOWN
keybd_event(0xF5 , 0, KEYEVENTF_EXTENDEDKEY, 0);//try this, but other application does not receive WM_KEYDOWN
The other application that will receive the sending key:
LRESULT CALLBACK LLKbdProc(int nCode, WPARAM wParam, LPARAM lParam);
HHOOK kbdhk;
int quit = 0;
HINSTANCE m_hHookApiDLL = NULL;
typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
typedef HHOOK (__stdcall *SetWindowsHookExW)(int, HOOKPROC, HINSTANCE, DWORD);
typedef LRESULT (__cdecl *CallNextHookEx)(HHOOK, int, WPARAM, LPARAM);
typedef LRESULT (__cdecl *UnhookWindowsHookEx)(HHOOK);
static SetWindowsHookExW m_pfSetWindowsHook;
static CallNextHookEx m_pfCallNextHook;
#define WH_KEYBOARD_LL 20
typedef struct {
DWORD vkCode;
DWORD scanCode;
DWORD flags;
DWORD time;
ULONG_PTR dwExtraInfo;
} KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
void Dbg( TCHAR * lpszFormat, ... )
TCHAR szOutput[1024];
TCHAR * pOutput = szOutput;
va_list v1;
DWORD dwSize;
// Now do the normal printf stuff...
va_start( v1, lpszFormat );
dwSize = ::wvsprintf( pOutput, lpszFormat, v1 );
va_end( v1 );
OutputDebugString(szOutput);
_tprintf(szOutput);
LRESULT CALLBACK LLKbdProc(int nCode, WPARAM wParam, LPARAM lParam)
KBDLLHOOKSTRUCT *pKeyBoard = (KBDLLHOOKSTRUCT *)lParam;
switch( pKeyBoard->vkCode )
case 245://VK_OEM_CLR,0xf5,245
switch(lParam)
case WM_KEYDOWN:
Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 on WM_KEYDOWN\r\n"));
return 1;
case WM_KEYUP:
Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 on WM_KEYUP\r\n"));
return 1;
default:
Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 \r\n"));
break;
return 1;
break;
default: // no processing on this key
Dbg(_T("switch-case: Unknown key\r\n"));
return m_pfCallNextHook( NULL, nCode, wParam, lParam );
return 0;
int main()
m_hHookApiDLL = LoadLibrary(L"coredll.dll");
if(m_hHookApiDLL != NULL)
HINSTANCE appInstance = GetModuleHandle(NULL);
m_pfSetWindowsHook = (SetWindowsHookExW)GetProcAddress(m_hHookApiDLL,L"SetWindowsHookExW");
kbdhk = m_pfSetWindowsHook(WH_KEYBOARD_LL, LLKbdProc, NULL, 0);
if (!kbdhk)
Dbg(_T("WH_KEYBOARD_LL FAILED.\r\n"));
return -2;
//Dbg(_T("Message Pump... Listening...\r\n"));
MSG msg;
while(GetMessage(&msg, NULL, 0, 0) > 0)
if (quit) break;
TranslateMessage(&msg);
DispatchMessage(&msg);
return 0;
The application that receives the key, always catch the virtual key for VK_OEM_CLEAR, but there is no WM_KEYDOWN.  Am I doing something wrong?

That is it.. Thank you so much.  other cases I use wParam,
but overlook for this case.

Similar Messages

  • Troubles with third-party software: Mozilla and Microsoft

    Can anybody help me?
    I'm new to Macs. Loving it so far (why didn't I switch years ago?), but I am having a few teething difficulties. Namely, with some interaction between Mozilla Firefox for Mac and MS Word for Mac. Whenever I copy text from Firefox and paste it into Word, it's automatically stripped of all formatting - italics, bold, font, paragraph styles, the lot.
    I copy-and-paste text from Firefox a lot, and need to keep the source formatting when I do so. Can anyone tell me how? Please?
    Thanks.

    I was hoping somebody here would know something about Firefox for Mac...I didn't have this problem when I was using Firefox on a PC.
    And, yes, as far as I can tell this problem doesn't occur with Safari. But I like Firefox. It's got features I admire and all my bookmarks, too. So I don't really want to have to switch to Safari. There must be some way around my problem, surely.
    Mac Phone Support have already told me they can't help, though, since this is all third-party software. They directed me here.

  • Transaction with third party JMS providers and ejb

              I am using a container managed stateless session bean to send messages to an ibm
              mqseries running on the same computer. The EJB is deployed on weblogic 7.0. It
              seems that sending JMS messages do not participate in the transaction and that
              I have to call queueSession.commit() explicity every time. However, receiving
              messages via Message Driven Beans in a transaction is not a problem. Any clue
              how to resolve this or what is happening?
              

    To do this today, you'd have to get the "XAResource" object from your JMS
              provider's XASession object, and register it with JTA. I know this has come
              up before, and you should be able to find more about this on the newsgroup.
              Basically, every time you send a message, you need to do something like
              this:
              import javax.jms.*;
              import javax.transaction.*;
              XASession xaSession; // This is your vendor's XASession object
              XAResource xaResource = xaSession.getXAResource();
              Transaction tran = weblogic.transaction.TxHelper.getTransaction();
              tran.enlistResource(xaResource);
              // Now send your message!
              You need to call "enlistResource" every time you send a message, or it won't
              work.
              WebLogic Server 8.1 will be able to do this automatically as long as you're
              inside an EJB or a servlet.
              greg
              "raj" <[email protected]> wrote in message
              news:[email protected]..
              >
              > I am using a container managed stateless session bean to send messages to
              an ibm
              > mqseries running on the same computer. The EJB is deployed on weblogic
              7.0. It
              > seems that sending JMS messages do not participate in the transaction and
              that
              > I have to call queueSession.commit() explicity every time. However,
              receiving
              > messages via Message Driven Beans in a transaction is not a problem. Any
              clue
              > how to resolve this or what is happening?
              

  • Really Apple? OSX 10.8.5 disables built-in camera functionality with third party apps such as Skype and Gmail video chat. I do not have time machine on my 2013 MB Air. How can I get back to 10.8.4?

    Really Apple?
    With the release OSX 10.8.5 Apple has once again showed its true colors, and continued its efforts to create a closed Apple system, which eliminates third party vendors, unless, one can only assume... they pay.
    Included in this OSX update is the disabling of the built-in camera to work with third party applications such as Skype and Gmail video chat. No surprise the camera works just fine with Apple apps such as Facetime and Photobooth.
    The answer I got on my call to AppleCare to ask for assistance in reinstalling 10.8.4, so that I may Skype again, was we can not do that. You can not go back unless you have a time machine bkup.
    Can anyone help me get back to to 10.8.4 on my 2013 MB Air?
    I do not have a time machine bkup as this computer is not used to store important documents.
    Thank you.

    Read this post: 10.8.5 Broke Camera Usage For 3rd Party Apps Like Skype
    Another: isight not recognized in Skype after 10.8.5 upgrade
    Don't panic. Skype simply needs to update its app.

  • Can you connect the Lightning to 30-pin adapter and Lightning to 30-pin Adapter (0.2 m) to iPod nano (7th generation) with third-party accessories?

    Can you connect the Lightning to 30-pin adapter and Lightning to 30-pin Adapter (0.2 m) to iPod nano (7th generation) with third-party accessories?

    Lightning to 30-pin adapter and Lightning to 30-pin adapter (0.2m) do not work if connected together by other third-party accessories.

  • Motion control: PXI 7350 controller and UMI 7774 to interface with third-party driver UDK5114NW2

    Dear community,
    This is about Motion control in Labview: I try to control a step motor by using a PXI 7350 controller and UMI 7774 to interface with  third-party driver UDK5114NW2. The problem is 5 Disable LEDS on UMI 7774 board always lit even when I check "enable" on "Motion I/O setting" in configuration of PXI 7350 motion controller. Furthermore, when I start to control step motor, it is not working and I found disable LED on UMI board still lit. I don't know how to solve this problem. Can someone help me to figure out? Thank you in advance!
    Hau Nguyen.

    Dear Community,
    I said wrong, 4 disable LEDS on UMI 7774 Board instead of 5 as my previous post. Why nobody help me to solve this problem. I can not turn off disable LEDs on UMI 7774 Board so I can not start the strp motor. Please help me!
    Hau Nguyen. 

  • Use NI LabView and LabView RT with third party PXI chassis

    I want to use NI LabView and LabView RT, some PXI chassis of N.I and
    some PXI chassis of Third Party( not N.I ) for diversity, How I will Install
    Pharlap ETS ( LabView RT ) on those third party PXI's.
    More simply
    Third party PXI chassis and controllers support LabView RT or not?
    Note: Mark Andre Hary [email protected] of Sensing Systems LLC answer to this question as:
    "You can't.  I think NI bought Pharlap, and they do not offer board support packages (BSPs) for non-NI PXI controllers.  There is no way to get LabVIEW-RT running on a controller not purchased from NI.  You will have to use a standard RTOS like Linux,VxWorks, or QNX.
    Regards

    As described in the web links below, the only way to run LabVIEW Real-Time for ETS on a third-party system would be to follow the procedure for desktop PC computers. You may find that your third party PXI controller may meet the requirements listed in the below link and you will be able to run Real-Time on the controller. If you decide to do this, you will need to purchase the LabVIEW Real-Time Desktop Deployment license (also linked below). After purchasing the deployment license, you will be sent boot disks that will install the real-time OS onto your system. There is no need to purchase Pharlap ETS from Ardence directly.
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/cb3434da94466dd286256e9e006bb775?OpenDocument
    http://sine.ni.com/nips/cds/view/p/lang/en/nid/13751
    Instead of using LabVIEW Real-Time for ETS, you could use LabVIEW Real-Time for RTX instead. This system allows you to run Windows and the Ardence Real-Time eXtensions (RTX) real-time kernel concurrently on one machine. Currently device support for LabVIEW RT for RTX systems is limited to RIO devices. This is all described in the below link.
    http://zone.ni.com/devzone/conceptd.nsf/webmain/9cc60298315a687e86256e78007b3a96
    I hope this answers your question.
    Regards,
    Kristi H - National Instruments

  • Replace Self-Signed FAST Search Certificate with Third Party Certificate

    We are trying to replace the Self-Signed FAST Search Certificate with Third Party Certificate in our SP 2010 environment. And are facing issues while enabling the SSL communication between the FAST servers and the corporate servers.
    Our FAST search servers are in a different farm than that of the Corporate Servers.
    The details of the certificate we received is as follows:
    Issued to : FastSearchCert
    Issued By: Issuer Name
    Valid From: 4/21/2015 to 4/20/2017
    We were able to successfully renew the certificate on the FAST Search Server by following the below steps:
    1.  Login to the Administrative and the Non-Administrative nodes 
    of the FAST server. Go to Windows Service and stop the FAST Search for SharePoint and the FAST Search for SharePoint Monitoring services in both the servers.
    Follow the below steps in the Administrative Node followed by the Non-Administrative Node
    2. 
    Install the certificate in the following paths in the certificate store:
    “Certificates(Local Computer)\Personal”
    “Certificates(Local Computer)\Trusted Root Certification Authorities”
    3. Ensure that the user account configured for the “FAST Search Server 2010 for SharePoint” has access to the private key of the certificate.
    4. Go the Administrative node of the FAST farm and follow the below steps:
    Go to the certificate store.
    Expand the Personal folder and then click the Certificates folder. Double-click the third party signed FAST certificate.
    Open the Details tab and then click Thumbprint. Note down this thumbprint.
    5. Next, open
    Microsoft FAST Search Server 2010 for SharePoint with Administrator
    Privileges.
    6.
    Navigate to the directory, “D:\FASTSearch\installer\scripts” and execute the below command to replace the current certificate with the newly created
    third party signed FAST certificate.
    .\ReplaceDefaultCertificate.ps1 -thumbprint "certificate thumbprint".
    7. The FAST certificate was renewed successfully.
    Once the certificate has been renewed successfully in both the nodes, follow the below step:
    8. Start the FASTSearch for SharePoint and the FAST Search
    for SharePoint Monitoring services in the administrator server.
    Next, while enabling the SSL communication between the FAST servers and the other corporate servers, we follow the below steps:
    1. 
    Copy the new certificate from any of the FAST servers to all the web-front end and application servers in the corporate farm, in order to enable SSL communication between these servers and the FAST farm.
    2.   Also, copy the script
    ‘SecureFASTSearchConnector.ps1’ from the location “%FASTSearchFolder%\installer\scripts” in the FAST servers 
    to the web-front end and application servers of the corporate farm.
    3.  Follow the below steps on each of the servers in the corporate farm:
    Open ‘SharePoint 2010 Management Shell’ with administrator privileges and navigate to the directory in which
    SecureFASTSearchConnector.ps1’ script is located.
    And then, execute the below command:
     .\SecureFASTSearchConnector.ps1 -certThumbprint "certificate thumbprint" –ssaName “FASTCibtebtSSA” –username “DOMAIN\SP_Farm”
     Where,
    -certThumbprint 
    - Thumbprint of the certificate
    -ssaName – FAST Content SSA
    -username – The account configured to run the SharePoint
    Search Service
    On execution of the above command, we receive an error message stating that the "Connection to the Content Distributor servername.corp.abc.org: 14391 could not be validated...instance of FAST search server backend is running"
    Please help us resolve this issue. We have not been able to find the cause of the above error for a long time.
    Any help is much appreciated.

    Your tip on exporting from eDir to locate a missing private key was very helpful. Here are my steps to renew an expired third party certificate when the private key, generated 30 months ago in my case, could not be located.
    In iManager, browse the tree and locate the likely certificate object. The Attributes for the object show Subject Name = webmail.acme.com. Selected the certificate and exported to webmailcert.pfx.
    Then, the openssl commands in TID 7004039, "How to convert a SSL PFX to a PEM file", were run against the .pfx file to create cert.pem, key.pem and server.key files.
    TID 7015500, "How to determine if private key belongs to public key (certificate)", was followed to determine if the public key (downloaded from third party) and private key (just retrieved from iManager) match - they did - that is, the private key converted from webmailcert.pfx matches the downloaded certificate.
    TID 7013103, "How to create a .pem File for SSL certificate Installations", was followed to manually create a server.pem file using openssl.
    TID 7010584, "How to setup SSL Certificate for Apache", part labeled "Additional Information" was followed to modify /etc/apache2/vhosts.d/vhost-ssl.conf file. Server.pem file created above copied to /etc/apache2/ssl.crt/ and /etc/ssl/servercerts/ directories as specified in vhost-ssl.conf.
    Restarted apache2.
    www.digicert.com has an SSL Certificate Checker that can be used to verify the installation is successful.

  • Third party gratis order and cost centre allocation

    Hi all
    I have a problem with third party sales. When the sales order is gratis, the cost centre allocation is determined by our gratis order reason. This particular cost centre is locked for invoice receipt posting (as it is gratis), and so we cannot complete the 3rd party process.
    Is there any way around this - I can see in the IMG that you can create requirement classes for costing but I cannot see where you assign these requirements to items.
    Also, I am not sure about the implications of removing the lock on invoice receipt postings.
    Any help would be appreciated.
    Thanks
    Jon

    Please chck with FICO  team wether the cost center is loocked for same ?
    Points if helpfull
    Rg Ajit

  • How to integrate single sign on with third party system

    we are in the process of implementing istore application. we already have home grown isupport application to contact support personnal for any issues. Now we are wondering how do we integrate oracle applications single sign on with our third pary system. Is there any recommendation provided by oracle to achieve the same.

    We too are in the process of implementing iStore with SSO features.
    And if you believe me it seems to me as nightmare.
    In our scenerio we are intgrating this SSO with Third party access control too (AD and Siteminder). I would request you to please respond me on the following mail id , so we can share our experince which will help us in our implementation
    [email protected]
    regards and thanks in advance
    Vikas Deep

  • SharePoint 2013 on-premises integration with third party email account

    the Email sending issue from SharePoint is causing too much time waste 
    First let me explain how our SharePoint is deployed
    Sharepoint version : 2013
    Deployment type : on-premise
    Authentication : from Domain controller also hosted locally 
    domain name ; say domain.com this domain.com is same as our website address hosted on godaddy
    SharePoint computer name on local DNS :  sharepoint.domain.com
    OS and IIS : 2008 r2 , IIS 7.5 
    Network firewall : 25 26 ports  opened for sharepoint , both incoming and outgoing.
    Server firewall : turned off
    Email configuration Attempts by IIS 6.0 
    We tried following setting on IIS 6.0 SMTP local server properties
    In General tab
    qualified name was shown as : sharepoint.dts-solution.com
    IP assigned : sharepoint server IP  , advanced putted two entries of IP with ports as 25,26
    In Access tab
    Authentication : selected as Anonymous 
    Connection : All except below list : empty list
    Relay : only the list below , one entry as 127.0.0.1 and other is local static IP of SharePoint server
    in Delivery tab
    outbound security : Basic authentication : accessed user in AD and given the right password, also checked with annonymous -not working 
    outbound connection: all default values and port = 25
    Advance : fully qualified domain name = sharepoint.domain.com , DNS test showed success, rest every check box unchecked 
    On sharepoint central management settings
    Outbound email = sharepoint.domain.com
    from and reply to address = [email protected] 
    IIS 7.5 SMTP settings 
    In IIS 7.5 sharepoint application we added SMTP settings as smtp server = godaddy out going smtp , user name as [email protected] , password = godaddy password , port : godaddy outgoing port  .
    Godaddy account 
    Our website hosted on godaddy with same name as domain.com
    open relay not possible on emails.
    Results
    After setting alerts on SharePoint sites and assigning tasks with alerts we receive email in queue folder but they never get forwarded. We just wish to use any of our email *.domain.com to send outgoing emails from SharePoint . Its been a while we have no
    success. 
    Tech Learner

    Hi,
    As I understand, you are using SharePoint 2013 integrating with third party SMTP server which provides email function.
    From SharePoint side, I'd suggest you refer to the link below to configure email integration:
    http://technet.microsoft.com/en-us/library/ee956941(v=office.15).aspx
    If you have already confirm that message is sent from SharePoint, while stuck in queue on SMTP server, then the issue might be related to relay on SMTP server. Since the issue is related to third party product, we do not have enough resource here,
    I'd recommend you contact their support engineer for more assistance:
    https://support.godaddy.com/help/category/154/email
    https://support.godaddy.com/help/article/3552/managing-your-email-account-smtp-relays
    Thanks for the understanding.
    Regards,
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected] .
    Rebecca Tu
    TechNet Community Support

  • ISync Palm Conduit with third party conduits?

    Although we use the iSync Palm conduit to sync our Address Book data to our Palm devices, we use Meeting Maker as our calendar application. This has been fine under Panther...we would turn off calendar syncing in the iSync conduit and the respective data would synchronize properly. But under Tiger, the Palm conduit installed by iSync checks to see if there are third party conduits installed and if so, insists on disabling them. We can manually move the Meeting Maker conduits back into the Conduits directory, but anytime iSync is opened, it gives an alert that conflicting conduits need to be moved. This is most frustrating, especially considering that the whole process ran perfectly under Panther. Is there any fix or hack that can prevent the problem under iSync in Tiger?

    Actually, there is a simple fix. Although this step was not necessary under Mac OS X releases prior to Mac OS X 10.4, you now must uncheck the Calendar option in iSync, quit the program, then toss this iSync preference file:
    com.apple.isync.plist
    You will find that file here:
    Macintosh HD:Users:<username>:Library:Preferences
    When you next launch iSync, that preference file will be recreated, but you will now be able to synchronize your contact data with the Address Book using iSync and your calendaring data with Meeting Maker.

  • Integration of ChaRM with third party tools

    Hi all,
    We are in the process of building the solution for Change Request Management implementation integrated with third party tool. 
    As the normal process for ChaRM is to work with the Service Desk functionality (to raise a ticket, then support message, change request, change document etc...), but what we need is create the change request, and change document directly with ChaRM without using the Service Desk functionality. 
    Did anybody come across this situation?
    Please share your experience. 
    Thanks in advance.
    Balaji

    Hi Balaji,
    there is no problem, as I understand, you want to use ChaRM without Service Desk. OK, than you create directly a Change Request in CRMD_ORDER, the transaction type you have to select is SDCR (standard transaction type), you have to approve it and then you can create a change document, it is not necessary that you start with a Service Desk ticket like SLFN.
    You need configured TMS a SolMan Project with a Maintenance Cycle, thats it (but this is enough , don't forget the customizing).
    I hope I understood you correct
    Udo

  • Conflict with Third Party Apps?

    I am getting an occasional error saying there is a possible conflict with third party apps and that I need to check the drivers of my MIDI devices to see if they are up to date? Sorry but I did not record the exact wording. Does anyone know what this might mean, and how I need to go about checking drivers? I have a lot of interfaces and not sure how to see what's what. Thanks.

    Hi Midlake,
    Well, because they are known troublemakers. Search for 'takes' or 'take folder(s)' or 'comp' here on the forum and you'll find many a troubled soul crying out for help - including seasoned pro's, who thought they were beyond tears...
    O, they are fine for recording many takes - but thats' all. I'll select the best takes/phrases.
    regards, Erik.

  • How to integrate DRM with third party tool for loading metadata in SQL table

    Experts,
    I am new to DRM and I have a requirement in which we want to integrate DRM with third party tool(lets say SQL table) as target and load metadata from DRM (Parent node, name , alias etc) to SQL table (same column name)
    Is there any way we can integrate DRM to export the same to table directly instead to files. If yes what are the steps we have to follow.
    Is there anyway we can customize DRM to execute queries or run batch
    Can I have a basic example please.
    Thanks in advance,
    Regards,

    1. Use DRM Export to Table option, for that create an External Connection first for the Target Database and select the respective Tables to which you wish to Export the Hierarchy information.
    2. You can perform most of the DRM Actions via the DRM_BATCH_CLIENT.exe.
        Please refer to Using the Data Relationship Management Batch Client of DRM User guide.
    let me know if you have any issues.

Maybe you are looking for