急,重金酬谢!(300分)

  • 主题发起人 主题发起人 A001
  • 开始时间 开始时间
A

A001

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在delphi中嵌入网页并且不能查看网页的源文件?
 
是指用delphi做一个类似浏览器的东西吗,还是用ie.
 
用delphi做一个类似浏览器的东西。
有ie的方法也行,最好是用delphi做的。
 
弹出菜单时用另外一个代替就行了!
 
我试了一下,好象不行,就算用WebBrowser,在它上面单击右键的话,还是会弹出菜单,
里面有查看源文件。
我想如果你的网页用HTML的话,可能没有什么好办法了。
 
I posted a similar question a couple of weeks ago and this was the reply

Check http://members.home.com/hfournier/ (FAQs/WebBrowser/Advanced). There's
a tip about disabling the right-click menu. It can be use to implement what
you want.
 
你可以添加一个事件,在用户点击鼠标右键时去执行没有任何操作的procedure,不就
ok了?!!
 
to lentilz, zgdtxf:你们试过没有?
 
to:A001

网页的源文件肯定是文本文件。

如何让人看不到?
 
实在不行,试试用钩子处理掉鼠标右键点击的消息
 
这个很容易啊,只要在程序中生成一个mouse hook就行了,在mouseProc里面处理
鼠标右键消息,随便干什么都成,如果不做什么的话,直接返回就可以把IE的右键
给屏蔽掉了。
随便写了个VC的鼠标钩子程序,参照着看看吧。
LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam);
HHOOK MouseHook;
//生成鼠标钩子
MouseHook=SetWindowsHookEx(WH_MOUSE,MouseProc,AfxGetApp()->m_hInstance,AfxGetApp()->m_nThreadID );
//钩子的处理函数
LRESULT CALLBACK MouseProc(int code, WPARAM wParam, LPARAM lParam)
{

if ( (code == HC_ACTION) && (wParam == WM_RBUTTONDOWN) )
{
::AfxMessageBox("ok");
}

CallNextHookEx(MouseHook,code,wParam,lParam);
return 0;

}
程序退出别忘了销毁钩子
UnhookWindowsHookEx(MouseHook);
 
不如这样.
动态修改网页内容,将
<body>改为:
<body oncontextmenu="self.event.returnValue=false">
这样算吗?
:)
 
同意Edgarlo!
 
用WEBBROWER,并给它加一个POPMENU,这样就可以了。
 
如果用WEBBROWSER控件,仅隐蔽查看源码菜单并不能根本上解决问题,WEBBROWSER会自动将
文件缓存在磁盘上,所以还要设置免缓存。

还可以使用其它的控件如WWW。PBEAR。COM 的 TFRAMEVIEWER, 可自由控制更多的细节。
但其HTML兼容性小有问题。
 
没有办法的,如果我把你的网页save as,然后把文件拖到记事本,什么都看出来了。
根本的办法是自己做一个浏览器,保证只有你的浏览器可以调用你的网页。在自己的浏览器里
你想怎么控制就怎么控制。
 
用WEBBROWER,屏蔽鼠标右键,鼠标双键,F11,Ctrl+N,这样就防止被人在浏览器中

查到源代码,然后你再将网页文件存放到windows目录中去,就会做到遁形了
 
后退
顶部