#pragma once
#include "stdafx.h"
#include "resource.h"
//#include "GetURLDialog.h"
using namespace ATL;
#ifdef SHELL_AYGSHELL
我想修改simple,MiniPIE.exe的浏览器
现在想实现禁止文本选择等功能,
但是在网上找了很多资料都没有结果
请教各位大哥应该怎么修改代码~~~
以下是窗口代码的头文件~~#include <aygshell.h>
#pragma comment(lib, "aygshell.lib")
#include <tpcshell.h> // Required for SHSendBackToFocusWindow
#endif // SHELL_AYGSHELL
#include "mshtmhst.h"
static const UINT ID_BROWSER = 1 ;
class CMainWindow :
public CWindowImpl<CMainWindow, CWindow, CWinTraits<WS_CLIPCHILDREN | WS_CLIPSIBLINGS> >,
public IDispEventImpl<ID_BROWSER, CMainWindow>
//,public IDocHostUIHandler
{
public:
CMainWindow();
~CMainWindow();
BOOL TranslateAccelerator(MSG* pMsg);//翻译加速器
DECLARE_WND_CLASS(TEXT("MiniPIE.MainWindow"))
BEGIN_MSG_MAP(CMainWindow)
MESSAGE_HANDLER(WM_CREATE, OnCreate)///创建
MESSAGE_HANDLER(WM_SIZE, OnSize)//大小
MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)//激活
MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingChange)//设置频道
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)//销毁
COMMAND_ID_HANDLER(IDM_SK1_EXIT, OnExitCommand)//退出
COMMAND_ID_HANDLER(IDM_BACK, OnBackCommand)//后退
COMMAND_ID_HANDLER(IDM_FORWARD, OnForwardCommand)//前头发送
COMMAND_ID_HANDLER(IDM_HOME, OnHomeCommand)//主页
COMMAND_ID_HANDLER(IDM_OPENURL, OnOpenURLCommand)//打开网页
COMMAND_ID_HANDLER(IDM_REFRESH, OnRefreshCommand)//刷新
COMMAND_ID_HANDLER(IDM_STOP, OnStopCommand)//停止
END_MSG_MAP()
private:
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnSettingChange(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled); LRESULT OnExitCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnBackCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnForwardCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnHomeCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnOpenURLCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnRefreshCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnStopCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
public:
BEGIN_SINK_MAP(CMainWindow)
SINK_ENTRY(ID_BROWSER, DISPID_BEFORENAVIGATE2, &CMainWindow::OnBeforeNavigate2)//后退
SINK_ENTRY(ID_BROWSER, DISPID_TITLECHANGE, &CMainWindow::OnBrowserTitleChange)
SINK_ENTRY(ID_BROWSER, DISPID_NAVIGATECOMPLETE2, &CMainWindow::OnNavigateComplete2)//网页完成
SINK_ENTRY(ID_BROWSER, DISPID_DOCUMENTCOMPLETE, &CMainWindow::OnDocumentComplete)//文档完成
SINK_ENTRY(ID_BROWSER, DISPID_COMMANDSTATECHANGE, &CMainWindow::OnCommandStateChange)//一般状态改变
END_SINK_MAP()private:
void __stdcall OnBeforeNavigate2(IDispatch* pDisp, VARIANT * pvtURL,
VARIANT * /*pvtFlags*/, VARIANT * pvtTargetFrameName,
VARIANT * /*pvtPostData*/, VARIANT * /*pvtHeaders*/,
VARIANT_BOOL * /*pvbCancel*/);
void __stdcall OnBrowserTitleChange(BSTR bstrTitleText);
void __stdcall OnNavigateComplete2(IDispatch* pDisp, VARIANT * pvtURL);
void __stdcall OnDocumentComplete(IDispatch* pDisp, VARIANT * pvtURL);
void __stdcall OnCommandStateChange(long lCommand, BOOL bEnable);
// utility function
BOOL SetEnabledState(UINT uMenuItemID, BOOL bEnable);
private:
CAxWindow m_browser;
// cached copy of hosted control's IWebBrowser2 interface pointer缓存副本托管控件的IWebBrowser2接口指针
CComPtr<IWebBrowser2> m_spIWebBrowser2;
CWindow m_menuBar;
SHACTIVATEINFO m_sai;
public:
virtual void OnFinalMessage(HWND hWnd);
STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags,
DISPPARAMS* pDispParams, VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr);};
#include "stdafx.h"
#include "resource.h"
//#include "GetURLDialog.h"
using namespace ATL;
#ifdef SHELL_AYGSHELL
我想修改simple,MiniPIE.exe的浏览器
现在想实现禁止文本选择等功能,
但是在网上找了很多资料都没有结果
请教各位大哥应该怎么修改代码~~~
以下是窗口代码的头文件~~#include <aygshell.h>
#pragma comment(lib, "aygshell.lib")
#include <tpcshell.h> // Required for SHSendBackToFocusWindow
#endif // SHELL_AYGSHELL
#include "mshtmhst.h"
static const UINT ID_BROWSER = 1 ;
class CMainWindow :
public CWindowImpl<CMainWindow, CWindow, CWinTraits<WS_CLIPCHILDREN | WS_CLIPSIBLINGS> >,
public IDispEventImpl<ID_BROWSER, CMainWindow>
//,public IDocHostUIHandler
{
public:
CMainWindow();
~CMainWindow();
BOOL TranslateAccelerator(MSG* pMsg);//翻译加速器
DECLARE_WND_CLASS(TEXT("MiniPIE.MainWindow"))
BEGIN_MSG_MAP(CMainWindow)
MESSAGE_HANDLER(WM_CREATE, OnCreate)///创建
MESSAGE_HANDLER(WM_SIZE, OnSize)//大小
MESSAGE_HANDLER(WM_ACTIVATE, OnActivate)//激活
MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingChange)//设置频道
MESSAGE_HANDLER(WM_DESTROY, OnDestroy)//销毁
COMMAND_ID_HANDLER(IDM_SK1_EXIT, OnExitCommand)//退出
COMMAND_ID_HANDLER(IDM_BACK, OnBackCommand)//后退
COMMAND_ID_HANDLER(IDM_FORWARD, OnForwardCommand)//前头发送
COMMAND_ID_HANDLER(IDM_HOME, OnHomeCommand)//主页
COMMAND_ID_HANDLER(IDM_OPENURL, OnOpenURLCommand)//打开网页
COMMAND_ID_HANDLER(IDM_REFRESH, OnRefreshCommand)//刷新
COMMAND_ID_HANDLER(IDM_STOP, OnStopCommand)//停止
END_MSG_MAP()
private:
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
LRESULT OnSize(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnSettingChange(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled); LRESULT OnExitCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnBackCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnForwardCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnHomeCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnOpenURLCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnRefreshCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
LRESULT OnStopCommand(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/);
public:
BEGIN_SINK_MAP(CMainWindow)
SINK_ENTRY(ID_BROWSER, DISPID_BEFORENAVIGATE2, &CMainWindow::OnBeforeNavigate2)//后退
SINK_ENTRY(ID_BROWSER, DISPID_TITLECHANGE, &CMainWindow::OnBrowserTitleChange)
SINK_ENTRY(ID_BROWSER, DISPID_NAVIGATECOMPLETE2, &CMainWindow::OnNavigateComplete2)//网页完成
SINK_ENTRY(ID_BROWSER, DISPID_DOCUMENTCOMPLETE, &CMainWindow::OnDocumentComplete)//文档完成
SINK_ENTRY(ID_BROWSER, DISPID_COMMANDSTATECHANGE, &CMainWindow::OnCommandStateChange)//一般状态改变
END_SINK_MAP()private:
void __stdcall OnBeforeNavigate2(IDispatch* pDisp, VARIANT * pvtURL,
VARIANT * /*pvtFlags*/, VARIANT * pvtTargetFrameName,
VARIANT * /*pvtPostData*/, VARIANT * /*pvtHeaders*/,
VARIANT_BOOL * /*pvbCancel*/);
void __stdcall OnBrowserTitleChange(BSTR bstrTitleText);
void __stdcall OnNavigateComplete2(IDispatch* pDisp, VARIANT * pvtURL);
void __stdcall OnDocumentComplete(IDispatch* pDisp, VARIANT * pvtURL);
void __stdcall OnCommandStateChange(long lCommand, BOOL bEnable);
// utility function
BOOL SetEnabledState(UINT uMenuItemID, BOOL bEnable);
private:
CAxWindow m_browser;
// cached copy of hosted control's IWebBrowser2 interface pointer缓存副本托管控件的IWebBrowser2接口指针
CComPtr<IWebBrowser2> m_spIWebBrowser2;
CWindow m_menuBar;
SHACTIVATEINFO m_sai;
public:
virtual void OnFinalMessage(HWND hWnd);
STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags,
DISPPARAMS* pDispParams, VARIANT* pvarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr);};
=======================================================
FreeLaxy, your backup.
=======================================================
禁止文本选择等功能就可以实现这种效果
好像UC浏览器一样
=======================================================
FreeLaxy, your backup.
=======================================================