在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本来是想实现控制台程序运行时自动全屏,但是只找到VC下的实现方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347)。 其中要使用两个未公开的Win32 API函数来存取控制台窗口,这就需要使用动态调用的方法,动态调用中使用的Windows API函数主要有三个,即:Loadlibrary,GetProcAddress和Freelibrary。步骤如下: 1. Loadlibrary: 装载指定DLL动态库 2. GetProcAddress:获得函数的入口地址 3. Freelibrary: 从内存中卸载动态库 但是C#中是没有函数指针,无法直接使用GetProcAddress返回的入口地址。后来找到资料,其实.NET 2.0新增了Marshal.GetDelegateForFunctionPointer 方法可以满足这个要求,MSDN里的解释是:将非托管函数指针转换为委托。 后面的事就简单啦,我把它编成了一个类来方便调用。
using System;
using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace feiyun0112.cnblogs.com
using System;
using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; using feiyun0112.cnblogs.com; namespace ConsoleApplication1 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论