當前位置:首頁 » 操作系統 » 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運行就看到了

熱點內容
手機配置高玩不了單機游戲怎麼辦 發布:2025-07-26 15:53:05 瀏覽:258
手機設置開機手勢密碼後如何解鎖 發布:2025-07-26 15:39:14 瀏覽:39
迭代優化演算法 發布:2025-07-26 15:25:45 瀏覽:949
東風本田買哪個配置好 發布:2025-07-26 15:10:01 瀏覽:765
plsql游標 發布:2025-07-26 15:09:51 瀏覽:128
android轉字元串數組 發布:2025-07-26 15:08:05 瀏覽:269
實時產量編程 發布:2025-07-26 15:03:33 瀏覽:114
c語言漢諾塔演算法 發布:2025-07-26 14:56:13 瀏覽:937
androidqq空間分享 發布:2025-07-26 14:27:27 瀏覽:724
為什麼招生辦公室登錄密碼錯誤 發布:2025-07-26 14:27:13 瀏覽:665