一些技巧(11)

简介: //Windows环境下如何编写I/O程序//一、使用vc++的I/O函数访问I/O口//共有六个"必须包含conio.
//Windows环境下如何编写I/O程序
//一、使用vc++的I/O函数访问I/O口
//共有六个"必须包含conio.h文件"
//int inp(unsigned short port);//从port指定的端口号中读取一个8位的字节,返回值即为所读的字节
//unsigned short inpw(unsigned short port);//从port指定的端口号中读取一个16位的字,返回值即为所读的字
//unsigned short inpd(unsigned short port);//从port指定的端口号中读取一个32位的双字,返回值即为所读的双字
//int outp(unsigned short port, int databyte);//从port指定的端口号中写一个字节databyte,返回值即为所写的字节
//unsigned short _outpw(unsigned short port, unsigned short dataword);//从port指定的端口号中写一个字databyte,返回值即为所写的字
//unsigned long outpd(unsigned short port, unsigned long dataword);//从port指定的端口号中写一个双字databyte,返回值即为所写的双字
//例子:删除CMOS密码
#include <conio.h>
void ClearCmosPassword()
{
    int port=0x70;
    int var=0x21;
    _outp(port,var);
    
    port=0x71;
    var=0x20;
    _outp(port,var);
    
    return;
}
==========================================================================================
创建和访问环境变量
void jj1()
{
    char *descr=getenv("PATH");//读
    if(descr)
        printf("is:%s",descr);
    else
        //失败
    //======================
    int stat=putenv("TEMP=c://TEMP");//写
    if(!stat)
        printf("失败");
}
==========================================================================================
//无标题窗口拖放
void jj2_OnLButtonDown(UINT nFlags,CPoint point)
{
    PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x,point.y));
    //在BEGIN_MESSAGE_MAP中加入消息ON_WM_NCHITTEST(),然后在文件中加入afx_msg UINT OnNcHitTest(CPoint point);
}
UINT jj2_OnNcHitTest(CPoint point)
{
    UINT nHitTest=CTranDialog::OnNcHitTest(point);//改成您自己的基类
    return (nHitTest==HTCLIENT)?HTCAPTION:nHitTest;
}
==========================================================================================
对调色板有关的操作
CreatePalette()创建调色板
SelectPalette()将调色板选进设备
RealizePalette()调色板实现
BOOL BitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORD dwRop)
参数说明:
 xSrc,ySrc是源设备上要移动的位图的起始点
 x,y,nWidth,nHeight是目的设备矩形起始点坐标、宽和高,nWidth,nHeight也用于源设备
 dwRop是三元光栅操作代码
==========================================================================================
开光驱门mciSendCommand(m_wDeviceID,MCI_SET,MCI_SET_DOOR_OPEN,NULL);
关光驱门mciSendCommand(m_wDeviceID,MCI_SET,MCI_SET_DOOR_CLOSE,NULL);
==========================================================================================
//删除历史子目录中所有的项
#include<urlhist.h>
HRESULT ClearHistory()
{
    IUrlHistoryStg2*pUrlHistoryStg2=NULL;
    HRESULT hr=CoCreateInstance(CLSID_CUrlHistory,NULL,CLSCTX_INPROC,IID_IUrlHistoryStg2,(void**)&pUrlHistoryStg2);
    if(SUCCEEDED(hr))
    {
        hr=pUrlHistoryStg2->ClearHistory();
        pUrlHistoryStg2->Release();
    }
    return hr;
}
目录
相关文章
|
存储 编译器 C语言
终于学会数组的使用啦~~~------C语言数组学习笔记详解
终于学会数组的使用啦~~~------C语言数组学习笔记详解
109 1
|
7月前
|
机器学习/深度学习 人工智能 TensorFlow
Python 深度学习架构实用指南:第一、二部分(1)
Python 深度学习架构实用指南:第一、二部分(1)
165 2
|
7月前
|
时序数据库
InfluxData【部署 02】时序数据库 InfluxDB 客户端工具 Influx CLI 最新版本安装启动验证(在线安装+离线安装+各版本下载地址)
InfluxData【部署 02】时序数据库 InfluxDB 客户端工具 Influx CLI 最新版本安装启动验证(在线安装+离线安装+各版本下载地址)
739 0
|
7月前
|
分布式计算 DataWorks 大数据
DataWorks产品使用合集之DataWorks和MaxCompute存在差异如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
111 0
|
7月前
|
Java 数据库连接 数据库
Spring事务简介及案例:模拟银行账号间转账业务
Spring事务简介及案例:模拟银行账号间转账业务
203 0
|
7月前
|
存储 前端开发 Java
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
|
7月前
|
druid Java 数据库连接
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
334 0
|
7月前
|
前端开发 JavaScript 数据库
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
344 1
|
弹性计算 运维 数据可视化
【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务
【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务
|
7月前
|
安全 Java Spring
如何让 Spring Security 放行所有接口
如何让 Spring Security 放行所有接口
710 0