初次接触WinDriver
来源:互联网 发布:和平高清网络电视 编辑:程序博客网 时间:2024/06/05 00:31
今天,第一次应用WinDriver,用来写PCIE驱动。
为了以后对PCIE测试和调试方便,需要对WinDriver生成的源程序进行改动。
主要是生成一个调试窗口。而WinDriver用的是的C语言printf语句来提示后续操作。是个CMD下出现的窗口。
查看资料,了解C语言不能直接使用DLG。我使用WinApi,来完成驱动测试的界面化工程。
碰到以下几个问题:
1.WinDriver的C语言入口函数:main()
我将其改为int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
出现无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用错误
我的平台:VS2005需要对工程属性改动。
a.C/C++下的预处理中的预处理定义中的_CONSOLE改为_WINDOWS
b.链接器下的系统中的子系统:将CONSOLE改为WINDOWS
编译通过。OK
2.生成窗口
加入的代码
static char szAppName[] = "Bezier" ;
HWND hwnd ;
MSG msg ;
WNDCLASSEX wndclass ;
wndclass.cbSize = sizeof (wndclass) ;
wndclass.style = CS_HREDRAW | CS_VREDRAW ;
wndclass.lpfnWndProc = WndProc ;
wndclass.cbClsExtra = 0 ;
wndclass.cbWndExtra = 0 ;
wndclass.hInstance = hInstance ;
wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ;
wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;
wndclass.lpszMenuName = NULL ;
wndclass.lpszClassName = szAppName ;
wndclass.hIconSm = LoadIcon (NULL, IDI_APPLICATION) ;
RegisterClassEx (&wndclass) ;
hwnd = CreateWindow (szAppName, "Bezier Splines",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, SW_SHOWNORMAL) ;
UpdateWindow (hwnd) ;
先这么做,后面在调整。
- 初次接触WinDriver
- 初次接触
- 初次接触
- 初次接触
- 初次接触EJB
- 初次接触MFC
- 《英雄无敌 V》初次接触!
- 初次接触linux 总结:
- 初次接触power architecture
- 初次接触Hibernate
- 初次接触Hibernate
- 初次接触GDIplus
- 初次接触ASP.NET
- 初次接触asp.net
- WAP初次接触
- 初次接触XSL
- 初次接触Oracle
- 初次接触resin引擎
- 超详细mysql left join,right join,inner join用法分析
- 点击按钮打开网页窗体
- less 错误的解决
- 关于第三方应用在编译时候集成到系统中
- 十三个经典算法集锦
- 初次接触WinDriver
- 处理外部输入的利器——ActionForm
- VS快捷键
- Oracle enterprise manager console可以连接到数据库,但是PL/SQL连接不上
- 使用DDMS往SDCard Push文件的时候报错
- 日期范围查询 oracle
- svn之branches、tags 简要介绍
- spring aop 复习
- Meego系统全面解析(初始化)