Windows
小黑话不多
这个作者很懒,什么都没留下…
展开
-
解决VS“无法解析的外部命令”
在使用VS编译的时候通常碰到“无法解析的外部命令”或者“无法解析的外部符号”等错误提示,这是因为使用了外部库的原因,解决方法如下:(1) 添加#pragma comment(lib, "libName")(2) 项目属性 -> 链接器 -> 输入 -> 附加依赖项,添加所需lib文件名。原创 2016-04-12 15:51:40 · 15473 阅读 · 0 评论 -
使用inf文件安装文件系统驱动程序的三种方式
After you have created an INF file, you can use it to install, upgrade, and uninstall your file system filter driver. You can use the INF file alone or together with a batch file or a user-mode setup转载 2016-06-23 15:34:00 · 6961 阅读 · 0 评论 -
Windows Dll注入与API HOOK
DLL注入:1. 使用注册表注入dllHKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Windows\AppInit_DLLsAppInit_Dlls中设置待注入的dll绝对路径LoadAppInit_Dlls值设为12. 使用Windows挂钩注入dll需要使用SetWind原创 2016-04-11 17:07:59 · 2911 阅读 · 0 评论 -
Windows驱动开发蓝屏(代码:0x0000007f)
刚开始做驱动开发,编译了一个微软官方的例子,使用.inf安装驱动后,使用net start xx启动服务,但是却出现蓝屏。最终发现是因为兼容性原因,使用VS 2015、WDK 10编译的是时候默认生成windows 10驱动,由于我在Win7下测试,从而导致蓝屏。解决方法如下:项目属性 -> Deriver Settings -> General -> Target OS Versio原创 2016-05-05 21:43:26 · 2155 阅读 · 0 评论 -
Windows获取磁盘信息
Windows下磁盘相关操作:1. 使用FindFirstVolume, FindNextVolume查询所有磁盘;2. QueryDosDevice获取设备名称;3. GetVolumePathNamesForVolumeName获取路径信息,如C:, D:;4. GetDriveType获取磁盘类型,不同返回值代表的类型如下图:#include #include #原创 2016-05-27 14:36:14 · 2412 阅读 · 0 评论 -
无法定位程序输入点xxx于动态链接库kernel32.dll
程序运行中出现如标题所示的错误,通常来讲,这是由于系统平台不兼容导致,比如在Win7系统上开发过程中使用了Win8以后才支持的API。比如,我在win7上使用了UnmapViewOfFileEx这个函数,然后程序运行后就出现了“无法定位程序输入点UnmapViewOfFileEx于动态链接库kernel32.dll”的错误提示。查询MSDN,发现该API使用平台要求为Win8及以上,因此无原创 2016-05-03 18:05:55 · 34942 阅读 · 0 评论 -
警告被视为错误 - 没有生成“object”文件
在使用vs编译程序的时候碰到如标题所示的错误提示,网上找的方法都不好使,后来发现就是简单的函数返回值不匹配问题。举例如下:HANDLE PsGetProcessId( _In_ PEPROCESS Process);PsGetProcessId返回值应该为HANDLE,若是在调用的时候将其赋值给其他类型的变量,如int,将导致该类错误。int pid = PsGetProce原创 2016-05-03 15:21:59 · 1499 阅读 · 0 评论 -
Windows获取时间
在Windows下获取时间常用的API有:GetLocalTime(), GetSystemTime(), GetTickCount(),以下说明三者的用法及差别。(1) GetLocalTime该函数用于获取本地时间,精确到毫秒级。函数声明如下:void WINAPI GetLocalTime( _Out_ LPSYSTEMTIME lpSystemTime);函数将获取到的时原创 2016-05-24 15:10:28 · 1528 阅读 · 0 评论 -
Windows遍历目录文件
可以使用FindFirstFile, FindNextFile, FindClose遍历指定目录下的目录和文件。以下函数遍历并打印指定路径path下的所有文件和目录:#include #include #include #include #include void FileTraverse(TCHAR *path){ //_tprintf(TEXT("\nPath: %s原创 2016-04-27 15:07:59 · 872 阅读 · 0 评论 -
Windows增加删除右键新建项
Windows下,鼠标右键新建默认有文本文档、Word等,若需要增加新的,比如ps, py等,则需要修改注册表。注册表HKEY_CLASSES_ROOT下有一系列.xx项,记录不同类型的文件扩展名,若存在子项ShellNew,则可以通过右键新建直接创建;相反,若需要删除新建项,则删除.xx项下的ShellNew子项。例如,要增加.py文件新建项,可以新建一个.reg,里面写入一下内容:原创 2016-11-26 11:17:09 · 6798 阅读 · 0 评论