当前位置: 首页 > news >正文

免费可以做旅游海报 的网站3模网站建设

免费可以做旅游海报 的网站,3模网站建设,做一个公司网站多少钱,虚拟主机做网站教程1、前言 Window是一个复杂的系统#xff0c;kernel32是一个操作系统的核心动态链接库文件。它提供了大量的API函数#xff0c;提供了操作系统的基本功能。 2、Ini使用 Ini文件读写使用时#xff0c;我们需要用到其中的一些函数对文件进行读写。 API#xff1a; /// kernel32是一个操作系统的核心动态链接库文件。它提供了大量的API函数提供了操作系统的基本功能。 2、Ini使用 Ini文件读写使用时我们需要用到其中的一些函数对文件进行读写。 API /// summary/// 获取所有节点名称(Section)/// /summary/// param namelpszReturnBuffer存放节点名称的内存地址,每个节点之间用\0分隔/param/// param namenSize内存大小(characters)/param/// param namelpFileNameIni文件/param/// returns内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够/returns[DllImport(kernel32.dll, CharSet CharSet.Auto)]private static extern uint GetPrivateProfileSectionNames(IntPtr lpszReturnBuffer, uint nSize, string lpFileName);/// summary/// 获取某个指定节点(Section)中所有KEY和Value/// /summary/// param namelpAppName节点名称/param/// param namelpReturnedString返回值的内存地址,每个之间用\0分隔/param/// param namenSize内存大小(characters)/param/// param namelpFileNameIni文件/param/// returns内容的实际长度,为0表示没有内容,为nSize-2表示内存大小不够/returns[DllImport(kernel32.dll, CharSet CharSet.Auto)]private static extern uint GetPrivateProfileSection(string lpAppName, IntPtr lpReturnedString, uint nSize, string lpFileName);/// summary/// 读取INI文件中指定的Key的值/// /summary/// param namelpAppName节点名称。如果为null,则读取INI中所有节点名称,每个节点名称之间用\0分隔/param/// param namelpKeyNameKey名称。如果为null,则读取INI中指定节点中的所有KEY,每个KEY之间用\0分隔/param/// param namelpDefault读取失败时的默认值/param/// param namelpReturnedString读取的内容缓冲区读取之后多余的地方使用\0填充/param/// param namenSize内容缓冲区的长度/param/// param namelpFileNameINI文件名/param/// returns实际读取到的长度/returns[DllImport(kernel32.dll, CharSet CharSet.Auto)]private static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, [In, Out] char[] lpReturnedString, uint nSize, string lpFileName);//另一种声明方式,使用 StringBuilder 作为缓冲区类型的缺点是不能接受\0字符会将\0及其后的字符截断,//所以对于lpAppName或lpKeyName为null的情况就不适用[DllImport(kernel32.dll, CharSet CharSet.Auto)]private static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, uint nSize, string lpFileName);//再一种声明使用string作为缓冲区的类型同char[][DllImport(kernel32.dll, CharSet CharSet.Auto)]private static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, string lpReturnedString, uint nSize, string lpFileName);/// summary/// 将指定的键值对写到指定的节点如果已经存在则替换。/// /summary/// param namelpAppName节点如果不存在此节点则创建此节点/param/// param namelpStringItem键值对多个用\0分隔,形如key1value1\0key2value2/// para如果为string.Empty则删除指定节点下的所有内容保留节点/para/// para如果为null则删除指定节点下的所有内容并且删除该节点/para/// /param/// param namelpFileNameINI文件/param/// returns是否成功写入/returns[DllImport(kernel32.dll, CharSet CharSet.Auto)][return: MarshalAs(UnmanagedType.Bool)] //可以没有此行private static extern bool WritePrivateProfileSection(string lpAppName, string lpString, string lpFileName);/// summary/// 将指定的键和值写到指定的节点如果已经存在则替换/// /summary/// param namelpAppName节点名称/param/// param namelpKeyName键名称。如果为null则删除指定的节点及其所有的项目/param/// param namelpString值内容。如果为null则删除指定节点中指定的键。/param/// param namelpFileNameINI文件/param/// returns操作是否成功/returns[DllImport(kernel32.dll, CharSet CharSet.Auto, SetLastError true)][return: MarshalAs(UnmanagedType.Bool)]private static extern bool WritePrivateProfileString(string lpAppName, string lpKeyName, string lpString, string lpFileName);调用函数包装 /// summary/// 读取INI文件中指定KEY的字符串型值/// /summary/// param nameiniFileIni文件/param/// param namesection节点名称/param/// param namekey键名称/param/// param namedefaultValue如果没此KEY所使用的默认值/param/// returns读取到的值/returnspublic static string INIGetStringValue(string iniFile, string section, string key, string defaultValue){string value defaultValue;const int SIZE 5120;if (string.IsNullOrEmpty(section)){throw new ArgumentException(必须指定节点名称, section);}if (string.IsNullOrEmpty(key)){throw new ArgumentException(必须指定键名称(key), key);}StringBuilder sb new StringBuilder(SIZE);uint bytesReturned GetPrivateProfileString(section, key, defaultValue, sb, SIZE, iniFile);if (bytesReturned ! 0){value sb.ToString();}return value;}/// summary/// 在INI文件中指定节点写入指定的键及值。如果已经存在则替换。如果没有则创建。/// /summary/// param nameiniFileINI文件/param/// param namesection节点/param/// param namekey键/param/// param namevalue值/param/// returns操作是否成功/returnspublic static bool INIWriteValue(string iniFile, string section, string key, string value){if (string.IsNullOrEmpty(section)){throw new ArgumentException(必须指定节点名称, section);}if (string.IsNullOrEmpty(key)){throw new ArgumentException(必须指定键名称, key);}if (value null){throw new ArgumentException(值不能为null, value);}return WritePrivateProfileString(section, key, value, iniFile);}3、动态DLL加载 动态加载cDLL方式通过动态获取函数针对转换为C#的委托可以实现动态。 API声明 public static class DyLoadingDll{[DllImport(kernel32.dll)]public static extern IntPtr LoadLibrary(string lpFileName);[DllImport(kernel32.dll)]public static extern IntPtr GetProcAddress(IntPtr hModule, string lpProcName);[DllImport(kernel32, EntryPoint FreeLibrary, SetLastError true)]public static extern bool FreeLibrary(IntPtr hModule);public static Delegate GetFunctionAddress(IntPtr dllModule, string functionName, Type t){IntPtr address GetProcAddress(dllModule, functionName);if (address IntPtr.Zero)return null;elsereturn Marshal.GetDelegateForFunctionPointer(address, t);}} 调用示例 IntPtr hSdkDll LoadLibrary(MyCamera.dll); CameraSdkInit (pfnCameraSdkInit)GetFunctionAddress(hSdkDll, CameraSdkInit, typeof(pfnCameraSdkInit)); 4、其他 [DllImport(kernel32.dll)]private static extern bool Beep(int frequency, int duration);//声音[DllImport(kernel32.dll)]private static extern bool GetSystemPowerStatus(ref SystemPowerStatus systemPowerStatus);//电源管理[DllImport(kernel32.dll)]public static extern IntPtr GetCurrentProcess();[DllImport(kernel32.dll)]public static extern IntPtr SetProcessAffinityMask(IntPtr handle, IntPtr affinityMask);public void Beep(){Random random new Random();for (int i 0; i 10000; i){Beep(random.Next(100000), 100);}}public string GetProwerSatus(){SystemPowerStatus status new SystemPowerStatus();GetSystemPowerStatus(ref status);string info string.Format($供电状况 {status.ACLineStatus} \n 剩余时间 {status.batteryFullLifeTime} \n 电力剩余 {status.batteryLifePercent} );return info;} public struct SystemPowerStatus{public ACLineStatus ACLineStatus;public BatteryFlag batteryFlag;public byte batteryLifePercent;public byte reserved1;public int batteryLifeTime;public int batteryFullLifeTime;}public enum ACLineStatus : byte{Offine 0,Online1,Unknown255,}public enum BatteryFlag:byte{Hight 1,Low 2,Critical4,Charging8,NoSystemBattery128,Unknown255,}// 设置亲和性IntPtr newAffinity new IntPtr(affinityMask);SetProcessAffinityMask(processHandle, newAffinity); 其他一些使用可以在实际需要去查找它的函数比较多可能有一个就是你需要的。
http://www.hkea.cn/news/14501760/

相关文章:

  • 那个网站可以免费建站公司做网站流程
  • 贵阳网站公司自助建站软件下载
  • 深圳设计网站培训wordpress删除文章数据库
  • 销售案例网站自己如何创建网站
  • 公司制做网站建筑行业一般在哪个网站招聘
  • 网站搭建周期付费推广渠道有哪些
  • 惠安县住房和城乡规划建设局网站网站开发编辑器
  • 罗庄建设局网站wordpress您访问的网页出错
  • 图片手机网站模板丰都网站建设价格
  • 汕头网站建设优化深圳工业设计协会
  • 大庆企业做网站80h tv wordpress主题
  • 安康鼎盛网站建设建设教育协会培训网站
  • 仿淘宝网站呼和浩特微信小程序公司
  • 海口建站网站模板临沂恒商做网站
  • 阅读网站怎样做打开百度一下你就知道
  • 设计一套企业网站设计报价巩义企业网站托管代运营公司
  • 建网站费用记账百家号seo
  • 不会写代码怎样做网站购物网站开发面试
  • 合同下载网站wordpress js验证码插件
  • 最新网站开发价格TP框架网站的中英文切换怎么做
  • 网站运营内容方案企业做网站分哪几种
  • 网站怎么才能被搜到网站设计 案例
  • 创建一个网站需要什么条件网站管理制度规范
  • 免费的html大作业网站百度权重
  • 中国网站开发的前景网站维护很难吗
  • 马可波罗网站做外贸天眼查企业查询公司
  • h5网站源码网站组建
  • wordpress mysql 权限宁波seo的公司联系方式
  • 团购做的好的网站有哪些网站建设论文3000字范文
  • 手机网站端域名怎样做解析网站网址查询工具