4 พฤษภาคม 2555 17:10
I created activex document server that is used to display documents in Internet Explorer (an user enters URL address of a specified document in IE address bar, document is downloaded and displayed in Internet Explorer).
On most machines the activedoc is activated along with its full set of user-interface tools, including menus of the container window (OLEIVERB_UIACTIVATE). I can use IPersistFile::Load to open document or IOleCommandTarget::Exec to print the document through Internet Explorer print menu. This is behaviour that I expect.
But on some PCs the same document is activated without user interface tools (OLEIVERB_INPLACEACTIVATE) and container (IE) does not call IPersistFile::Load function. Also Print command is not send into IOleCommandTarget::Exec function ...
Do you have any idea what can cause this?
Thanks in advance for any suggestions.
7 พฤษภาคม 2555 4:16
IE Security zone settings for scripting of activeX controls....
Tell users to reset their security zone settings back to the default.
Tools>Internet Options>Security tab, click "Reset all zones to default"
Use Group Policy to disable the Internet Options>Security tab.. to stop users changing from the default settings.
- เสนอเป็นคำตอบโดย doctoroftypeMVP 7 พฤษภาคม 2555 4:16
8 พฤษภาคม 2555 15:19
but this did not help.
8 พฤษภาคม 2555 21:13
I'm trying to track down something similar.
1) Are all the machines using the same version of IE? I think it's more likely with older versions of IE that it will try to open in the browser.
2) Have you tried setting BrowserFlags entry in the ProgID of your document class? This page might be of some help: http://www.msfn.org/board/topic/97427-help-need-resource-or-explanation-of-browserflagseditflags-oth/
By not documenting this, it seems as if Microsoft is cheating like in the old days when they used undocumented APIs.