Skip navigation
ceeebeem
Currently Being Moderated

Context Menu Verb "Read" not "Open"

Feb 9, 2012 1:43 AM

Tags: #context_menu #verb

I have an application which uses ShellExecute(hWnd,"open",pFile,NULL,NULL,SW_SHOWMAXIMIZED ); to display attachments. The pFile can be any type of document including PDF. On a Vista machine with Adobe Reader (8,9, or 10) in the User's Temporary directory it does not work for PDF documents. When I right click the PDF document the Default Verb is "Read" not "Open". (If I replace the "open" in my call to "read" it works, but I can't do that is it can be an arbitrary attachment).

 

Looking in the Registry for the Shell verbs only "open" is entered. If I use "Open With" to set the default program to "Notepad" it opens the files in notepad. If I change it back to Adobe it goes back to "read".

 

I did not set this machine up and there could be some "interesting" permissions, security settings, but would these cause Adobe Reader to change the verb to "read" from "open"? (And if so, how do I remove the settings?). I am also running as administrator with full read/write access to the directory?

 

I trawled the Internet and could only find one other person with this problem, but no solution...

 
Replies
  • Currently Being Moderated
    Feb 10, 2012 7:35 AM   in reply to ceeebeem

    Could it be that you have Adobe Acrobat installed on the system wherein you are getting the Read action in the Context Menu.

     
    |
    Mark as:
  • Currently Being Moderated
    Feb 12, 2012 10:42 PM   in reply to ceeebeem

    Sorry for the confusion.

    I meant that, could it be that Adobe Acrobat was installed on those systems as well along with Adobe Reader.!

     
    |
    Mark as:
  • Currently Being Moderated
    Jun 25, 2012 3:41 AM   in reply to ceeebeem

    Any new results on this issue?

    We could resolve what seems to be the same probleme by fixing the registry.

     

    We had a domain user on a machine (Win 7/64bit) with only a "Read" entry in the context menu for pdf files.

    Using ShellExecute('open'...)  in a similar use case we had the same result as ceeebeem.

    Adober Read X is installed on all of our machines.

    Other users - especially a "fresh" user - on the same machine haven't got this problem.

     

    We started regedit for the specific user and found

         HKCR\.pdf\(standard) = pdf_auto_file

     

    Other users had:

         HKCR\.pdf\(standard) = AcroExch.Document

     

    The entries and subtrees under:

         HKCR\AcroExch.Document and

         HKCR\AcroExch.Document.7

    were identical for all users.

     

    Reinstall or Repair the Acrobat Reader X did not solve the problem.

    Also reassign the extension by "Open with..." did not work.

     

    But deleting the "HKCR\.pdf" entrie for the specific user did the job.

    After a registry refresh the .pdf-entry reappeard for this user as:

         HKCR\.pdf\(standard) = AcroExch.Document.

     

    So this seems to be a problem of registry virtualisation.

     

    (May be another program with not enough access right has produced this virtual HKCR\.pdf entry.

    In our case the Foxit Reader was priviously installed (and later removed) on this machine. But this is just a guess.)

     

    EDIT:

    Hm maybe editing HKCR was not a goog idea because according to http://support.microsoft.com/kb/256986/en HKCR is build from HKCU\Software\Classes and HKLM\Software\Classes. So values should be edited there...

    But problem stays resolved, may ba as a side effect.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points