当前位置:首页 » 操作系统 » vc服务程序源码

vc服务程序源码

发布时间: 2023-02-13 12:10:54

‘壹’ 求VC++编程源代码

打开VC++6.0,新建基于对话框的工程RS485Comm,在主对话框窗口IDD_RS485COMM_DIALOG上添加两个按钮,ID分别为IDC_SEND和IDC_RECEIVE,标题分别为“发送”和“接收”;添加一个静态文本框IDC_DISP,用于显示串口接收到的内容。

在RS485CommDlg.cpp文件中添加全局变量:

HANDLE hCom; //全局变量,串口句柄

在RS485CommDlg.cpp文件中的OnInitDialog()函数添加如下代码: // TODO: Add extra initialization here
hCom=CreateFile("COM1",//COM1口
GENERIC_READ|GENERIC_WRITE, //允许读和写
0, //独占方式
NULL,
OPEN_EXISTING, //打开而不是创建
0, //同步方式
NULL);
if(hCom==(HANDLE)-1)
{
AfxMessageBox("打开COM失败!");
return FALSE;
}

SetupComm(hCom,100,100); //输入缓冲区和输出缓冲区的大小都是1024

COMMTIMEOUTS TimeOuts;
//设定读超时
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;
TimeOuts.ReadTotalTimeoutConstant=0;
//在读一次输入缓冲区的内容后读操作就立即返回,
//而不管是否读入了要求的字符。

//设定写超时
TimeOuts.WriteTotalTimeoutMultiplier=100;
TimeOuts.WriteTotalTimeoutConstant=500;
SetCommTimeouts(hCom,&TimeOuts); //设置超时

DCB dcb;
GetCommState(hCom,&dcb);
dcb.BaudRate=9600; //波特率为9600
dcb.ByteSize=8; //每个字节有8位
dcb.Parity=NOPARITY; //无奇偶校验位
dcb.StopBits=TWOSTOPBITS; //两个停止位
SetCommState(hCom,&dcb);

PurgeComm(hCom,PURGE_TXCLEAR|PURGE_RXCLEAR);

分别双击IDC_SEND按钮和IDC_RECEIVE按钮,添加两个按钮的响应函数: void CRS485CommDlg::OnSend()
{
// TODO: Add your control notification handler code here
// 在此需要简单介绍百特公司XMA5000的通讯协议:
//该仪表RS485通讯采用主机广播方式通讯。
//串行半双工,帧11位,1个起始位(0),8个数据位,2个停止位(1)
//如:读仪表显示的瞬时值,主机发送:DC1 AAA BB ETX
//其中:DC1是标准ASCII码的一个控制符号,码值为11H(十进制的17)
//在XMA5000的通讯协议中,DC1表示读瞬时值
//AAA是从机地址码,也就是XMA5000显示仪表的通讯地址
//BB为通道号,读瞬时值时该值为01
//ETX也是标准ASCII码的一个控制符号,码值为03H
//在XMA5000的通讯协议中,ETX表示主机结束符

char lpOutBuffer[7];
memset(lpOutBuffer,''\0'',7); //前7个字节先清零
lpOutBuffer[0]=''\x11''; //发送缓冲区的第1个字节为DC1
lpOutBuffer[1]=''0''; //第2个字节为字符0(30H)
lpOutBuffer[2]=''0''; //第3个字节为字符0(30H)
lpOutBuffer[3]=''1''; // 第4个字节为字符1(31H)
lpOutBuffer[4]=''0''; //第5个字节为字符0(30H)
lpOutBuffer[5]=''1''; //第6个字节为字符1(31H)
lpOutBuffer[6]=''\x03''; //第7个字节为字符ETX
//从该段代码可以看出,仪表的通讯地址为001
DWORD dwBytesWrite=7;
COMSTAT ComStat;
DWORD dwErrorFlags;
BOOL bWriteStat;
ClearCommError(hCom,&dwErrorFlags,&ComStat);
bWriteStat=WriteFile(hCom,lpOutBuffer,dwBytesWrite,& dwBytesWrite,NULL);
if(!bWriteStat)
{
AfxMessageBox("写串口失败!");
}

}
void CRS485CommDlg::OnReceive()
{
// TODO: Add your control notification handler code here

char str[100];
memset(str,''\0'',100);
DWORD wCount=100;//读取的字节数
BOOL bReadStat;
bReadStat=ReadFile(hCom,str,wCount,&wCount,NULL);
if(!bReadStat)
AfxMessageBox("读串口失败!");
PurgeComm(hCom, PURGE_TXABORT|
PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
m_disp=str;
UpdateData(FALSE);

}

您可以观察返回的字符串,其中有和仪表显示值相同的部分,您可以进行相应的字符串操作取出仪表的显示值。
打开ClassWizard,为静态文本框IDC_DISP添加CString类型变量m_disp,同时添加WM_CLOSE的相应函数: void CRS485CommDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CloseHandle(hCom); //程序退出时关闭串口
CDialog::OnClose();
}

程序的相应部分已经在代码内部作了详细介绍。连接好硬件部分,编译运行程序,细心体会串口同步操作部分。

‘贰’ 怎么查看一软件的VC++源码

除非它是开源软件,公布了源代码,不然是看不到的。

有反编码的工具,但是容易出错,而且得到的不一定是纯正的原代码。。

为什么看不到,因为程序编写成C++文件后是不能直接运行的,它要编译成机器可以读懂的语言,变成另一个文件,0101001100000001101000之类的东西,所以是不能直接查看的。
而反编码的是这样的,就像你把一句话中文翻译成英文后,又让人把这句英文翻译成中文,这两句中文是不一定一样的(甚至是基本不可能是完全一样的。)

‘叁’ 基于vc++的程序界面设计源代码

vc++的程序
那好的
找的

‘肆’ 运行编译VC源代码

工程文件后缀为.dsw那是VC6.0的工程,楼主没有.dsw后缀的的文件就看看有没有.sln的文件,有可能游戏是在高于VC6.0的版本上写的。

有的话直接在VC里面打开已有项目,或者直接双击.dsw或.sln文件,一般会自动在VC中打开。
打开之后再进行生成,生成过程其实就是编译链接,按F5或者ctrl+F5都可以。
如果成功,生成完成之后,在你的源代码的那个文件夹下面找到debug文件夹(或者Release文件夹),里面应该会生成一个后缀为.exe的文件,直接运行这个文件就行了。也有可能文件夹下面还有后缀为.dll的文件,如果有的话,就把他们和.exe放在一个文件夹下再运行.exe文件就行了。

‘伍’ 在VC下怎么运行下载的源代码(小白问题,无耐心者慎入)……

直接打开dsw那个文件就行,等于是打开工作空间,之后编译运行就行,千万不能打开cpp文件直接编译运行,否则程序就不好使了

‘陆’ vc 如何打开MFC项目源代码

双击xxx.rc文件打开资源编辑器,在资源视图中点击右键添加资源,选择菜单(menu),在菜单行上面添加"文件","帮助"等,然后打开对话框资源,在属性窗口中找到"menu"这项,选择刚刚建立的菜单资源即可,
f5运行就看到了

热点内容
asp上传文件组件 发布:2025-07-27 01:41:48 浏览:968
ppt数学课件脚本范例 发布:2025-07-27 01:40:54 浏览:716
安卓删掉的软件怎么修复 发布:2025-07-27 01:29:29 浏览:445
缓存的月末 发布:2025-07-27 01:29:28 浏览:837
电脑一周不用邮箱连接不到服务器 发布:2025-07-27 01:07:34 浏览:450
手指速算法二 发布:2025-07-27 01:07:30 浏览:701
苹果压缩z 发布:2025-07-27 01:05:54 浏览:471
哪些设备需要双重化配置保护 发布:2025-07-27 01:03:37 浏览:364
javawsdlwebservice 发布:2025-07-27 00:59:23 浏览:326
多项式求和的存储表达方式画图 发布:2025-07-27 00:57:45 浏览:729