首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
如何使用C#操作WinAPI
】的更多相关文章
如何使用C#操作WinAPI
Windows API是对Windows操作系统的API函数,在C#中调用Windows API的实质是托管代码对非托管代码的调用. 主要使用的格式就是: using System.Runtime.InteropServices; namespace TestWinAPI1{ class Program { static void Main(string[] args) { Beep(100, 100); } [DllImport("kernel32", CharSet = CharS…
C# 使用WinApi操作剪切板Clipboard
前言: 最近正好写一个程序,需要操作剪切板 功能很简单,只需要从剪切板内读取字符串,然后清空剪切板,然后再把字符串导入剪切板 我想当然的使用我最拿手的C#来完成这项工作,原因无他,因为.Net框架封装了能实现这种功能的方法 然后就有了如下代码 string Temp = ""; while (true) { string Tex = Clipboard.GetText().ToString(); if (!string.IsNullOrWhiteSpace(Tex) &&…
python---win32gui、win32con、win32api:winAPI操作
python操作winAPI 窗口操作: import sys from PyQt5.QtWidgets import QApplication, QWidget from lianxi import Ui_Form from PyQt5.QtCore import Qt import win32gui #winAPI模块--以便于操作窗口 class Win(QWidget,Ui_Form): def __init__(self): super(Win, self).__init__() se…
[WinAPI] API 6 [操作驱动器挂载点]
驱动器挂载点,又可以称作卷挂载点.挂载点实际上是操作系统或者用户设置的,用来进入一个逻辑驱动器或者卷的入口.在设置了卷的挂载点后,用户或者应用程序可以使用卷标或者指定的挂载点来进入卷.比如在“C:\”下设置了一个“E\”:卷的挂载点mnt,那么打开“E:\”和打开“C:\mnt”实际上都是进入“E:\”卷.一般可以用FindFirstVolumeMountPoint系列的API来找到一个卷的所有挂载点:用GetVolumeNameForVolumeMountPoint来获取指定挂载点所指向的卷名…
CE 操作串口
WinCE里面都是通过标准的系统API对串口进行操作的,但是串口不同于其它文件,它是是独占式地操作的. 下面是一个操作的串口类: #pragma once typedef void (*LPDataArriveProc)(char *data,int length,DWORD userdata); // 定义数据处理回调函数(指针类型) class CPSerialPort { public: CPSerialPort(); virtual ~CPSerialPort(); //打开串口 BOO…
Windows、Linux下文件操作(写、删除)错误的产生原因、及解决方法
catalog . 引言 . Linux平台上涉及的File IO操作 . Windows平台上涉及的File IO操作 0. 引言 本文试图讨论在windows.linux操作系统上基于C库进行文件IO操作时,可能遇到的错误,及其解决方法,主机安全攻防产品除了需要将安全攻防上的领域知识固化到程序实现上之外,还极度依赖关联系统本身.编程语言库的特性,原则上,并不是所有的安全需求都能100%地落实到程序设计中,这需要我们对操作系统.编程语言本身具有较深的理解 Relevant Link: http…
C/C++文件操作2
一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下: typedef struct { int level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ int bsize; /* Buf…
多人操作sqlite3数据库冲突问题解决方法
问题描述:sqlite3数据放置在某一台电脑的某个共享文件夹下,操作数据库的应用程序安装在同一局域网下的很多台电脑上,由于存在多人同时使用该应用程序,所以存在多人同时操作数据库的情况.经过测试发现,最常见的情况是当两人或者多人往数据库中写入数据时,只有其中一个写入成功,其他数据都写入失败. 解决方案分析: 由于本人编写程序未MFC应用程序,所以尝试使用windows互斥量mutex,具体的使用方法如下: bool CMFCApplication2Dlg::Lock() { m_pMutex =…
C/C++ 文件操作
C/C++ 文件操作大概有以下几种 1.C的文件操作: 2.C++的文件操作: 3.WINAPI的文件操作: 4.BCB库的文件操作: 5.特殊文件的操作. 当然了,水题时最常用的当然还是: freopen("stdin.txt","r",stdin); freopen("stdout.txt","w",stdout); 然而常常会忘记删除这句话就提交上去,十有八九会错... 基于C的文件操作 对文件的操作大概分为两种方式,即…
C++ builder的文件操作
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1.基于C的文件操作:2.基于C++的文件操作:3.基于WINAPI的文件操作:4.基于BCB库的文件操作:5.特殊文件的操作.这次我首先写出第一篇,以后我会陆续写出其它部分在我主页中发表.壹.基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之.一.流式文件操作 这种方式的文件操作有一个重要…
【个人使用.Net类库】(1)INI配置文件操作类
开发接口程序时,对于接口程序配置的IP地址.端口等都需要是可配置的,而在Win Api原生实现了INI文件的读写操作,因此只需要调用Win Api中的方法即可操作INI配置文件,关键代码就是如何调用Win Api中的方法,如下所示: #region 调用WinApi 原方法声明 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key,…
VC的文件操作
各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的.本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析. 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找.MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找.下面这段代码演示了这个类的最…
MFC 文件操作
MFC中文件的建立 在操作系统中,文件是放在一定的目录下,在创建以及操作文件以前,我们要查看文件要保存的目录有没有存在,如果不存在要创建.这就要用到GetFileAttributes()和CreateDirectory()两个函数.下面是这两个函数的简介: 1.GetFileAttributes 函数原型: DWORD WINAPI GetFileAttributes( __in LPCTSTR lpFileName ); 函数参数 lpFileName [in] :文件或目录的名字,对于ANS…
c++Builder 下的文件及目录操作
转自 http://blog.csdn.net/ktcserver/article/details/936329 一.判断目录是否存在: C++ Builder中提供了检查文件是否存在的函数FileExists,indows 程序实现如下: 设char *Dir为带判断的目录 bool Exist; // 最后结果,表示目录是否存在 if(Dir[strlen(Dir)]=='//')Dir[strlen(D…
WINIO64位模拟键鼠操作
最近玩游戏有点入迷,心急升级经验,于是某天开始"挂尸体",一系列手动操作之后决定写一个外挂,模拟一系列键盘和鼠标操作,没做过游戏winform也用得少,开始以为只要简单调用winApi的键盘和鼠标就能够实现...结果 后来才发现游戏一般都禁用了winAPI,最后找了一个驱动级的模拟PS2端口的三方库(WinIO),因为是64位的电脑涉及到数字证书之类的比较麻烦,不过最后好歹都实现了需要的功能,里面写了一些截取屏幕指定坐标图片与采集的图片做对比, 以实现什么时候该点什么时候不该点的判断,…
VC++/MFC操作ini配置文件详解
在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下: 一.将信息写入.INI文件中. 1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 其中各参数的意义: LPCTSTR lpAppName 是INI文件中的…
windows编程之菜单操作
分清几个概念 <1>"主菜单" 和 "顶层菜单" 是一个意思. <2>主菜单中的项目叫做 "弹出菜单" 或者 "子菜单". <3>弹出菜单的项目能够是另外一个弹出菜单. <4>菜单的状态:启用,禁用.无效化,无效化跟前两者的差别是灰色显示文字. (1)菜单消息 <1>WM_INITMENU wParam, // handle to menu (HMENU) lPara…
C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠
原文 http://www.cnblogs.com/h46incon/archive/2013/09/03/3299138.html 在 阻止系统自动睡眠的小软件,附C#制作过程 ,弄了一个防止系统睡眠的工具.然后马上发现,新的需求来了:为了保护环境(省钱),在系统设置中,合上盖子时会自动睡眠.那因下载之类的原因,需要临时禁止睡眠的话,又懒得去改设置,而且下次还得改回来.所以没事也是折腾,就研究了怎么用软件实现了. 最开始的思路就是进行Hook,以截断睡眠消息.但是木有找到方法. 然后发现当系统…
windows服务管理操作
服务程序是windows上重要的一类程序,它们虽然不与用户进行界面交互,但是它们对于系统有着重要的意义.windows上为了管理服务程序提供了一个特别的程序:服务控制管理程序,系统上关于服务控制管理的API基本上都与这个程序打交道.下面通过对服务程序的操作来说明这些API函数 获取系统服务的信息 在windows系统中有专门用来存储服务信息的数据库,而获取系统服务信息主要是通过在这样的数据库中查找.所用到的函数主要有: OpenSCManager:打开数据库 SC_HANDLE WINAPI O…
windows 下进程池的操作
在Windows上创建进程是一件很容易的事,但是在管理上就不那么方便了,主要体现在下面几个方面: 1. 各个进程的地址空间是独立的,想要在进程间共享资源比较麻烦 2. 进程间可能相互依赖,在进程间需要进行同步时比较麻烦 3. 在服务器上可能会出现一个进程创建一大堆进程来共同为客户服务,这组进程在逻辑上应该属于同一组进程 为了方便的管理同组的进程,Windows上提供了一个进程池来管理这样一组进程,在VC中将这个进程池叫做作业对象.它主要用来限制池中内存的一些属性,比如占用内存数,占用CPU周期,…
windows 下文件的高级操作
本文主要说明在Windows下操作文件的高级方法,比如直接读写磁盘,文件的异步操作,而文件普通的读写方式在网上可以找到一大堆资料,在这也就不再进行专门的说明. 判断文件是否存在 在Windows中并没有专门提供判断文件是否存在的API,替代的解决方案是使用函数GetFileAttributes,传入一个路径,如果文件不存在,函数会返回INVALID_FILE_ATTRIBUTES,这个时候一般就可以认为文件不存在.更严格一点的,可以在返回INVALID_FILE_ATTRIBUTES之后调用Ge…
获取ArcMap窗口句柄,通过WinAPI获取工作空间中点击要素的系统桌面坐标实现窗体跟随
这里用了个“桌面坐标”,是希望区分一下ArcGis的“屏幕坐标”(与之对应的还有一个“地理坐标”). 什么是“屏幕坐标”呢?使用ITool接口的OnMouseDown方法获取的“x,y”值即是,其原点值在“工作空间”窗体左上角. 什么是我所称谓的“工作空间”呢?它是数据编辑区域,用Spy++查看一下其窗体的classname是“AfxFrameOrView90u”,这样看称作“工作框”或者“工作视图”什么的似乎更准确~ 前面已经提到可以通过OnMouseDown方法获取鼠标在AfxFrame…
Windows系统中监控文件复制操作的几种方式
http://blog.sina.com.cn/s/blog_4596beaa0100lp4y.html 1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得到源和目标文件名. 可以控制拒绝操作. 缺点: 不能对文件进行控制. 只对Shell文件操作有效, 对原生Api MoveFile, CopyFile之类的操作无效. 用法: 从ICopyHook派生一个COM对象, 重载CopyCallbackA和CopyCallbackW, 然后把COM注册到H…
WINAPI实现简易扫雷游戏
//扫雷 #include <windows.h> #include <windowsx.h> #include <strsafe.h> #include <time.h> //格子区域大小(DIVISIONS * DIVISIONS) #define DIVISIONS 20 //地雷数 #define MINECOUNT 40 //消息处理 LRESULT CALLBACK DealMessage(HWND hWnd, UINT uMsg, WPARAM…
【API】文件操作编程基础-CreateFile、WriteFile、SetFilePointer
1.说明 很多黑客工具的实现是通过对文件进行读写操作的,而文件读写操作实质也是对API函数的调用. 2.相关函数 CreateFile : 创建或打开文件或I/O设备.最常用的I/O设备如下:文件,文件流,目录,物理磁盘卷,控制台缓冲,磁带驱动器,通信资源,邮槽,和管.函数返回一个句柄,可以根据文件或设备和指定的标志和属性来访问各种类型的I/O文件或设备. HANDLE WINAPI CreateFile( _In_ LPCTSTR lpFileName, _In_ DWORD dwDesire…
通过WinAPI播放PCM声音
在Windows平台上,播放PCM声音使用的API通常有如下两种. waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的 xAudio2:C++/COM API,主要针对游戏开发,是DirectSound的基础 在Windows Vista以后,推出了更加强大的WASAPI ,并用WASAPI封装了MME以及DirectSound API. 对于前面的两个API,在.net平台下有如下封装: NAudio Sharpdx WSAPI可能由于更加复杂,没有什么比较完善的封…
C#注册表读写完整操作类
1.注册表基项静态域 /// <summary> /// 注册表基项静态域 ///1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT 主键 ///2.Registry.CurrentUser 对应于HKEY_CURRENT_USER 主键 ///3.Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE 主键 ///4.Registry.User 对应于 HKEY_USER 主键 ///5.Registry.CurrentC…
C/C++文件输入输出操作——FILE*、fstream、windowsAPI
基于C的文件操作在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作这种方式的文件操作有一个重要的结构FILE,FILE在头文件stdio.h中定义如下: typedef struct {int level;unsigned flags;char fd;unsigned char hold;int bsize;unsigned char _FAR *buffer;unsigned char _FAR *curp;unsigned ist…
VC++文件操作之最全篇
一.剖析VC中的文件操作 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的.本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析. 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找.MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找.下面…
一种利用ADO连接池操作MySQL的解决方案(VC++)
VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连接永远不关闭,直接数进程退出),但是这样做至少会引起两个问题:(1)资源竞争,多个数据库请求操作不能同时进行,后一请求必须要等到前一请求完成后才能进行:(2)多线程情况下容易出现混乱,甚至出现资源异常释放.还有一种方法,就是使用数据库时创建连接,使用完后关闭连接回收资源.这种方式在数据库操作频繁的情…