vs2019中C#用FindWindowEx获取记事本的文本编辑处的句柄时报错?

本篇开发环境是Win11x64+VS2019+.5运行时作为图形界面,方便统一调用,不同程序集直接可以无缝衔接;你也可以用其他框架,但是最终要可以获取窗口句柄为目标,因为我们可以用WPF/Winform嵌入一个外部exe作为子窗体

首先,我们这里用WPF调用Winform,.现在两个框架都有.Net5的版本,你就不需要安装两个SDK了

这里我们的Winform的主窗体的属性有几个是必须的:

你可以在属性栏设置,也可以在Form1的构造函数里用代码设置,其中WindowState=Normal这个必须设置为Normal,否则后面会翻车

我们可以把视频控件装载在Winform内,实现桌面视频播放;
然后你可以放大你的脑洞,装一个cefsharp,你就可以桌面播放网页,播放WebGL
然后你再弄一个OpenGL的控件(比如SharpGL、Silk.Net)甚至可以摆弄一些神奇的玩意儿!

如果你按上面要求做,没有意外的话,是这种效果:

使用vs2105新建一个mfc ActiveX工程,工程名称为ocx_test,如果要在ocx控件中使用对话框,那么就勾选“在插入对象对话框中可用”
更改工程的属性,mfc的使用改为在静态库中使用mfc,字符集未未设置。

在工程的资源视图中插入一个对话框
为该对话框创建一个类,名称为CDialog1

在public中添加对话框的变量定义


接着在onDraw函数改为如下代码:



接下来生成工程,ocx会自动进行注册。

然后使用ie浏览器打开这个html,就可以看到网页中出现了含有对话框的ocx控件。


当使用上面创建的这种ocx,在浏览器中会有不安全提示
解决办法是在ocx_testCtrl.h文件中添加一个头文件
在该类的protect的中添加消息声明:


 

 
 
 
 
 
 
 
 
 
 
 


然后重新生成项目,再次在网页中调用,就可以看到没有出现不安全警告了。

小菜刚刚开始研究进程这方面的东西,发现网上的源代码 要么很简陋,要么没有提权的函数 总之我刚开始研究很吃力,后来自己查资料 总算知道了这里面的代理,原来在XP上 结束个记事本之类的小进程都需要提权... 本人用VS2008写的 XP下测试 可以结束简单的小进程 仅供各位和我一样菜的小鸟学习 谢谢大家

我要回帖

更多关于 2019日历记事本模板免费下载 的文章

 

随机推荐