一些技巧(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;
}
目录
相关文章
|
4月前
|
机器学习/深度学习 人工智能 TensorFlow
Python 深度学习架构实用指南:第一、二部分(1)
Python 深度学习架构实用指南:第一、二部分(1)
146 2
|
4月前
|
时序数据库
InfluxData【部署 02】时序数据库 InfluxDB 客户端工具 Influx CLI 最新版本安装启动验证(在线安装+离线安装+各版本下载地址)
InfluxData【部署 02】时序数据库 InfluxDB 客户端工具 Influx CLI 最新版本安装启动验证(在线安装+离线安装+各版本下载地址)
567 0
|
4月前
|
Java 数据库连接 数据库
Spring事务简介及案例:模拟银行账号间转账业务
Spring事务简介及案例:模拟银行账号间转账业务
139 0
|
4月前
|
存储 前端开发 Java
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
|
4月前
|
druid Java 数据库连接
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
SpringBoot + Mybatis + Druid + PageHelper 实现多数据源分页
150 0
|
4月前
|
前端开发 JavaScript 数据库
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
JavaScript基础知识:解释一下回调地狱(Callback Hell)。
258 1
|
4月前
|
安全 Java Spring
如何让 Spring Security 放行所有接口
如何让 Spring Security 放行所有接口
460 0
|
弹性计算 运维 数据可视化
【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务
【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务
|
运维 负载均衡 安全
阿里云混合云开放网络生态的探索与实践
2022年F5多云应用服务科技峰会于4月正式召开。阿里云智能混合云平台高级网络架构师张然(然犀)应邀于合作伙伴生态专场分享了阿里云混合云在开放网络生态领域的探索与实践。
1564 1
阿里云混合云开放网络生态的探索与实践