win32

多窗口下的批量操作脚本 - 利用win32gui和WindowSpy++简单实现目标窗口前置

匿名 (未验证) 提交于 2019-12-02 22:51:08
环境:python 3.7.x 使用的模块:pyautogui, win32gui 使用的工具:WindowSpy++ 1. 鼠标键盘动作模拟的模块(包)选择 百度到的键鼠模拟包主要有 PyUserInput 和 pyautogui 两个包可选,具体如下:   pyautogui:  windows下可直接pip install pyautogui 两者都可以实现丰富的键鼠操作,但我在尝试UserInput的时候遇到了一些问题:不同系统的键盘名称有区别,但不太好找到windows对应的键盘名称表。 * 在使用pyautogui的过程中,我遇到了一些问题,如反复使用pyautogui.hotkey('ctrl','v')来模拟Ctrl+V热键的时候,有一定的概率出错。我的解决方式是十分笨拙的手动模拟: 1 import pyautogui as pg 2 3 pg.keyDown('ctrl') 4 pg.press('v') 5 pg.keyUp('ctrl') 2.多窗口下切换前置窗口 本着少做调查研究的原则,我本来是打算用模拟键盘alt+tab的方法直接实现切换窗口的,甚至计算了多个窗口下置换前置的排列组合方法。但是……天若OCR是一个联网才能使用的工具,在 [识别 - 跳出结果窗口] 的时间里,窗口的排列顺序是不确定的,所以多次反复的tab下结果总是不稳定…

System.InvalidOperationException:“寄宿的 HWND 必须是指定父级的子窗口。”

一笑奈何 提交于 2019-12-02 14:25:30
当试图在 WPF 窗口中嵌套显示 Win32 子窗口的时候,你有可能出现错误:“ 寄宿的 HWND 必须是指定父级的子窗口。 ”。 这是很典型的 Win32 错误,本文介绍如何修复此错误。 本文内容 问题 原因和解决办法 我们在 MainWindow 中嵌入一个其他的窗口来承载新的 WPF 控件。一般情况下我们当然不会这么去做,但是如果我们要跨越进程边界来完成 WPF 渲染内容的融合的时候,就需要嵌入一个新的窗口了。 WPF 中可以使用 HwndSource 来包装一个 WPF 控件到 Win32 窗口,使用自定义的继承自 HwndHost 的类可以把 Win32 窗口包装成 WPF 控件。由于窗口句柄是可以跨越进程边界传递的,所以这样的方式可以完成跨进程的 WPF 控件显示。 问题 你有可能在调试嵌入窗口代码的时候遇到错误: System.InvalidOperationException:“寄宿的 HWND 必须是指定父级的子窗口。” 英文是: Hosted HWND must be a child window of the specified parent. 原因和解决办法 出现此错误,是因为同一个子窗口被两次设置为同一个窗口的子窗口。 具体来说,就是 A 窗口使用 HwndHost 设置成了 B 的子窗口,随后 A 又通过一个新的 HwndHost 设置成了新子窗口。

【Robot】Rookit简介

老子叫甜甜 提交于 2019-12-02 06:42:25
转发: https://blog.csdn.net/tiandyoin/article/details/75136484 Rootkit自身也是木马后门或恶意程序的一类,只是,它很特殊,为什么呢?因为,你无法找到它。 正如自然界的规则一样,最流行的病毒,对生物的伤害却是最小的,例如一般的感冒,但是最不流行的病毒,却是最夺命的。Rootkit木马就是信息世界里的 AIDS,一旦感染,就难以用一般手段消灭了,因为它和自然界里的同类做的事情一样,破坏了系统自身检测的完整性——抛开术语的描述也许难以理解,但是可以配合AIDS的图片想象一下,由于AIDS破坏了人体免疫系统,导致白细胞对它无能为力,只能眼睁睁看着人体机能被慢慢破坏。计算机系统没有免疫功能,但是它提供了对自身环境的相关检测功能——枚举进程、文件列表、级别权限保护等,大部分杀毒软件和进程工具都依赖于系统自带的检测功能才得以运作,而 Rootkit木马要破坏的,正是这些功能。 要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境

【cocos2d-x 手机游戏开发】在VS2005下运行Cocos2d-x

旧时模样 提交于 2019-12-01 17:58:23
Cocos2d-x 的开发包中并未给出 VS2005 的工程文件。不巧我的电脑中只装了 VS2005 。学习心切,这可怎么办啊?没关系。只要您稍花点时间,也可以让 Cocos2d-x 在 VS2005 中运行起来。 首先。将cocos2d-win32.vc2008.sln复制一份重命名为 cocos2d-win32.vs2005.sln. 然后用记事本打开它。将“ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008”一句改为“Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005”。保存文件。 然后。到 Box2D,chipmunk,cocos2dx,CocosDenshion,HelloLua,HelloWorld,lua,tests 目录中的 proj.win32 找到相应的工程文件各复制一份重新命名。如 Box2D.Win32.vcproj 复制文件重命名为 Box2D.win32.vs2005.vcproj 。用记事本打开。将 <VisualStudioProject ProjectType="Visual C++" Version="9.00" 修改为

win32 界面

浪子不回头ぞ 提交于 2019-11-30 21:17:48
case WM_PAINT: { HBITMAP hbm; BITMAP bminfo; hbm = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP1)); GetObject(hbm, sizeof(bminfo), &bminfo); PAINTSTRUCT ps; HDC dc = BeginPaint(hwnd, &ps); HDC memdc = CreateCompatibleDC(dc); SelectObject(memdc, hbm); BitBlt(dc,0,0,bminfo.bmWidth,bminfo.bmHeight,memdc,0,0,SRCCOPY); DeleteDC(memdc); EndPaint(hwnd, &ps); break; }    来源: https://www.cnblogs.com/hshy/p/11640835.html

win32 disk imager使用后u盘容量恢复

廉价感情. 提交于 2019-11-30 09:21:43
前些天,使用U盘安装黑群晖。使用win32 disk imager写入群晖启动img,后发现U盘无法使用了。 介绍 Win32 Disk Imager是一款用于写img文件到SD和USB卡中的软件。群晖的安装就需要使用此软件。 diskpart是Windows下硬盘分区管理工具,使用它可以创建分区、删除分区、合并(扩展)分区。这样也就包括将制作成启动盘的U盘进行恢复。 操作 在使用Win32 Disk Imager制作启动盘后,重新插入U盘,电脑就会自动提示在使用该U盘的时候需要将其格式化。现在开始使用diskpart 1、启用diskpart 进入DOS命令行,输入DISKPART 2、查看机器磁盘 DISKPART> list disk 磁盘 ### 状态 大小 可用 Dyn Gpt -------- ------------- ------- ------- --- --- 磁盘 0 联机 931 GB 2048 KB 磁盘 1 联机 7681 MB 7630 B * DISKPART> 根据大小可判断U盘为磁盘1 3、选择磁盘1 DISKPART> select disk 1 4、输入CLEAN删除磁盘 DISKPART> clean 5、创建主磁盘分区 DISKPART>CREATE PARTITION PRIMARY 6、激活磁盘分区 DISKPART> active

Delphi惹谁了?

依然范特西╮ 提交于 2019-11-29 15:07:12
Delphi惹谁了? 最早的时候就有C++程序员做Win23的产品没有Delphi程序员快,不服气地说Delphi的不好,理由是Delphi只能拖拉控件,不能OOP。几年以前,当Java刚刚火起来的时候,Java程序员说Delphi不行,理由是Delphi不能开发web。后来有一本《Java与模式》的书让Java程序员大开眼界,他们常常在与Delphi程序员论战时使出撒手锏:“Delphi能用设计模式吗?”。再后来,有了C#,C#程序员也不甘示弱,他们一边在VS.net中享受着拖拉控件乐趣,一边故作高深地挑战Delphi程序员:“Delphi有反射机制吗?Delphi能.net吗?” 如果说以前听到的是Delphi圈子外的人说Delphi的不是也就罢了,可现在是Delphi圈子内的人开始说Delphi衰了。特别是很多Borland的负面消息,就像一把把刺向Delphi的尖刀,像CSDN上的“IDE开发工具走下坡路 Borland欲开发咨询服务”那条消息更是直中Delphi程序员的要害。不少Delphi程序员一时乱了手脚,也有动作快的早已另谋出路。君不见连Borland(中国)公司负责Delphi社区的高级工程师王尧(网名:左轻侯)都投奔到微软(中国)公司去了。去年他还在中国软件技术大会介绍Delphi 2005的新特征,今年他却改谈微软.NET 的LINQ(Language

vs2015编译GLib2-5.7

我是研究僧i 提交于 2019-11-29 10:19:58
编译glib2.57,一共要编译glib,gio,gmodule,gobject,gthread五个模块 首先1】 将config.h.win32更改名字为config.h 将glibconfig.h.win32更改名字为glibconfig.h 其实编译时他们也会会生成config.h和glibconfig.h。 记得删掉移除掉config.h.win32和glibconfig.h.win32,然后添加头文件config.h和glibconfig.h 其次2】 添加以下的库头文件目录和链接库目录,和链接库名称: libintl库(该库依赖libiconv) libffi 库: pcre 库:主要是要注意添加预处理器定义 zlib 库: 1】、 1>..\..\glib\gversion.c(144): error C2065: “GLIB_INTERFACE_AGE”: 未声明的标识符 1>..\..\glib\gversion.c(144): error C2099: 初始值设定项不是常量 1>..\..\glib\gversion.c(145): error C2065: “GLIB_BINARY_AGE”: 未声明的标识符 1>..\..\glib\gversion.c(145): error C2099: 初始值设定项不是常量 1>..\..\glib\gversion

visual studio 调试时提示 已加载“C:\\Windows\\SysWOW64\\ntdll.dll”。无法查找或打开 PDB 文件。

☆樱花仙子☆ 提交于 2019-11-29 05:36:07
问题描述 “Win32Project3.exe”(Win32): 已加载“D:\software\VS2013\VS2013 文档\Win32Project3\Debug\Win32Project3.exe”。已加载符号。 “Win32Project3.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。 “Win32Project3.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。 “Win32Project3.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。 “Win32Project3.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcr120d.dll”。已加载符号。 程序“[4308] Win32Project3.exe”已退出,返回值为 0 (0x0)。 解决方式 1、点 调试,然后 选项和设置 2、右边勾上 启用源服务器支持 3、左边点 符号,把 微软符号服务器 勾选上 4、运行的时候等一下,加载完成后就好了。 5、只是第一次加载,不用担心。或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。