最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C++制作GC Server過程詳解

 更新時(shí)間:2019年09月26日 09:48:38   作者:code004  
這篇文章主要介紹了使用C++制作GC Server過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

最近很多人找我要GC Server的源代碼。我跟他們講環(huán)境要求的時(shí)候,很多人都不以為然,結(jié)果最后僅僅測(cè)試程序就報(bào)了幾千個(gè)Error。所以,我決定今天講一下如何搭建你自己的GC Server。(目前還沒有一個(gè)人成功,請(qǐng)量力而行,如果成功了記得在評(píng)論區(qū)告訴我~)

步驟

1. 系統(tǒng)配置

本文僅適用于Windows系統(tǒng),支持Win7及以后的大部分版本,Win10最佳。

2. 環(huán)境配置

首先,你需要一個(gè)支持C/C++的IDE(強(qiáng)烈推薦Visual Studio,后面的操作會(huì)更方便),然后你需要下載一個(gè)圖形庫,比如WinAPI。最后你需要將圖形庫安裝到你的IDE的配置里面,將include和lib都裝到要求的文件夾里,這就不必多說了,如果有問題請(qǐng)?jiān)谠u(píng)論區(qū)說明。

3. 編譯測(cè)試

注意!在此步驟下如果出現(xiàn)任何系統(tǒng)錯(cuò)誤,請(qǐng)立即停止操作!推薦在開始前將系統(tǒng)進(jìn)行備份!

Step 1 - 創(chuàng)建項(xiàng)目

在這一步里,需要你在你的IDE里創(chuàng)建一個(gè)C/C++的項(xiàng)目,確保創(chuàng)建正常且Hello world可以運(yùn)行。(我精心幫你準(zhǔn)備好了測(cè)試用的Hello World代碼^_^)

using namespace std;
int ()
{
 cout<<"Hello,world!"<<endl;
 return 0;
}
//C
#include <stdio.h>
int ()
{
 printf("Hello,world!n");
 return 0;
}

Step 2 - 圖形庫測(cè)試

你需要include你之前引入的圖形庫的頭文件,然后再設(shè)置一下比如這樣:

#include <graphics.h>    // 引用圖形庫頭文件
#include <conio.h>
int ()
{
 initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素
 setlinecolor(RGB(255, 0, 0)); // 設(shè)置當(dāng)前線條顏色
 setfillcolor(RGB(0, 255, 0)); // 設(shè)置當(dāng)前填充顏色
 fillcircle(200, 200, 100);  // 畫圓,圓心(200, 200),半徑 100
 system("pause");    // 按任意鍵繼續(xù),getch();亦可
 closegraph();     // 關(guān)閉圖形環(huán)境
 return 0;
}

如果上面的代碼你可以運(yùn)行成功,那么恭喜你,你可以進(jìn)入下面的步驟了~

Step 3 - 按鈕制作

很多人看到圖形庫的功能后都很吃驚,但是也有人問我,GC Server里面的那些不同顏色的按鈕時(shí)怎么畫出來的。因?yàn)?,圖形庫好像沒有自帶畫按鈕的功能啊~

很簡單,如下:

(下方代碼為GC Server 8.7最后更新的源代碼片段,為防止數(shù)據(jù)泄露,我們沒有采用最新版本的代碼,且在原版本的基礎(chǔ)上做了部分處理,不影響代碼的理解)

settextstyle(90, 0, _T("楷體"));
setbkcolor(RED);
outtextxy(20, 160, _T("歡迎您使用 GC Server!"));
setbkcolor(BLUE);
settextstyle(38, 0, _T("楷體"));
outtextxy(124, 301, _T("快速注冊(cè)"));
rectangle(120, 300, 280, 340);
outtextxy(404, 301, _T("程序信息"));
rectangle(400, 300, 560, 340);
outtextxy(684, 301, _T("立即登錄"));
rectangle(680, 300, 840, 340);
MOUSEMSG m;
while (true)
{
 m = GetMouseMsg();
 if (m.x >= 120 && m.x <= 280 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為注冊(cè)代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(130, 302, _T("快速注冊(cè)"));
  }
 }
 else if (m.x >= 400 && m.x <= 560 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為程序信息代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(410, 302, _T("程序信息"));
  }
 }
 else if (m.x >= 680 && m.x <= 840 && m.y >= 300 && m.y <= 340)
 {
  if (m.uMsg == WM_LBUTTONDOWN)
  {
   //此處為登錄代碼,安全起見被刪除
  }
  else
  {
   settextstyle(35, 0, _T("楷體"));
   outtextxy(690, 302, _T("立即登錄"));
  }
 }
 else
 {
  settextstyle(38, 0, _T("楷體"));
  outtextxy(124, 301, _T("快速注冊(cè)"));
  outtextxy(404, 301, _T("程序信息"));
  outtextxy(684, 301, _T("立即登錄"));
 }
}

代碼的思路:先把按鈕畫出來,然后再判定鼠標(biāo)動(dòng)作。如果鼠標(biāo)再指定區(qū)域內(nèi)且左鍵單擊,就說明用戶點(diǎn)擊了按鈕。

當(dāng)然了,你還可以搞些小花樣,比如說我之前做的lock項(xiàng)目(電腦安全鎖)就用到了鼠標(biāo)手勢(shì)代碼:

MOUSEMSG m2;
int flag1 = 0, flag2 = 0;
settextstyle(20, 0, _T("楷體"));
rectangle(600, 500, 650, 530);
outtextxy(605, 505, _T("確定"));
while (true)
{
 m2 = GetMouseMsg();
 if (m2.x >= 600 && m2.x <= 650 && m2.y >= 500 && m2.y <= 530)
 {
  settextstyle(25, 0, _T("Consolas"));
  if (m2.uMsg == WM_MBUTTONDBLCLK)
  {
   flag1 = 1;
   continue;
  }
  else if (m2.uMsg == WM_LBUTTONDOWN && flag1 == 1)
  {
   flag2 = 1;
   continue;
  }
  else if (m2.uMsg == WM_RBUTTONDOWN && flag2 == 1)
  {
   break;
  }
  else
  {
   settextstyle(22, 0, _T("楷體"));
   outtextxy(603, 503, _T("確定"));
  }
 }
 else
 {
  settextstyle(20, 0, _T("楷體"));
  outtextxy(605, 505, _T("確定"));
 }
}

上述代碼就是要先雙擊鼠標(biāo)中鍵的滾輪(向下按),然后再左鍵一次右鍵一次即可。

Step 4 - 添加游戲

游戲可以直接在GC Coding發(fā)帖,我會(huì)回復(fù)的。目前來說,大部分在GC Server目前版本已經(jīng)開放的游戲代碼都可以直接找我要。

Step 5 - 設(shè)計(jì)插件更改模塊

你需要在Github上開一個(gè)repo,然后把你想用的插件打包傳上去,用戶想下載的時(shí)候,只需要用system調(diào)用打開瀏覽器訪問指定網(wǎng)址,然后提示用戶將下載的包放到安裝目錄中,再點(diǎn)擊某個(gè)神奇的按鈕后程序就自動(dòng)開始解析用戶下載的包,然后把文件加到下載目錄里去。程序再修改一個(gè)安裝目錄下的文件,比如把0改成1,然后開始加載這個(gè)插件。

一般來說用戶比較喜歡有卸載功能的插件,這個(gè)也很簡單,只需要加上一個(gè)卸載按鈕,一旦用戶點(diǎn)擊確定后就刪除包,然后把上面說的文件再改回去即可。

還可以再repo里加一個(gè)README,在程序里加一個(gè)說明,一點(diǎn)就打開README的網(wǎng)址,這也不難。

Step 6 - 加入一部分彩蛋

好吧,其實(shí)這一步是選做的不過我認(rèn)為一個(gè)程序要更有意思就應(yīng)該加入一些彩蛋。比如GC Server最近促使我添加“姓名登錄”的一個(gè)較為重要的原因就是想藏彩蛋。比如你輸入某些神奇的名字~~ 夠了不泄密了…

Step 7 - 完工

好的,如果你已經(jīng)按照前面的步驟順利完成了,生成exe文件的時(shí)候就到了。不出意外的話(這幾乎是不可能的),你會(huì)看到exe文件已經(jīng)在項(xiàng)目文件夾里等著你了。當(dāng)然,如果出現(xiàn)了不能解決的錯(cuò)誤,也歡迎你來留言哦~

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++數(shù)據(jù)結(jié)構(gòu)鏈表基本操作示例過程

    C++數(shù)據(jù)結(jié)構(gòu)鏈表基本操作示例過程

    這篇文章主要為大家介紹了C++數(shù)據(jù)結(jié)構(gòu)鏈表基本操作的示例過程有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • C++實(shí)現(xiàn)堆排序?qū)嵗榻B

    C++實(shí)現(xiàn)堆排序?qū)嵗榻B

    大家好,本篇文章主要講的是C++實(shí)現(xiàn)堆排序?qū)嵗榻B,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • visual studio 2019工具里添加開發(fā)中命令提示符的方法

    visual studio 2019工具里添加開發(fā)中命令提示符的方法

    這篇文章主要介紹了visual studio 2019工具里添加開發(fā)中命令提示符的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 淺析操作系統(tǒng)中的虛擬地址與物理地址

    淺析操作系統(tǒng)中的虛擬地址與物理地址

    本文主要介紹了操作系統(tǒng)中的虛擬地址與物理地址。在早期的計(jì)算機(jī)中,要運(yùn)行一個(gè)程序,會(huì)把這些程序全都裝入內(nèi)存,程序都是直接運(yùn)行在內(nèi)存上的,也就是說程序中訪問的內(nèi)存地址都是實(shí)際的物理內(nèi)存地址。那當(dāng)程序同時(shí)運(yùn)行多個(gè)程序時(shí),操作系統(tǒng)是如何為這些程序分配內(nèi)存的呢
    2021-06-06
  • EasyC++自動(dòng)存儲(chǔ)持續(xù)性

    EasyC++自動(dòng)存儲(chǔ)持續(xù)性

    這篇文章主要介紹了EasyC++自動(dòng)存儲(chǔ)持續(xù)性,下面文章圍繞EasyC++自動(dòng)存儲(chǔ)持續(xù)性的相關(guān)資料展開全文資料,需要的小伙伴可以參考一下下面文章的具體內(nèi)容,希望對(duì)你的學(xué)習(xí)有所幫助
    2021-12-12
  • c語言求出給定范圍內(nèi)的所有質(zhì)數(shù)

    c語言求出給定范圍內(nèi)的所有質(zhì)數(shù)

    本文主要介紹了c語言求出給定范圍內(nèi)的所有質(zhì)數(shù)的小程序。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • C語言實(shí)現(xiàn)學(xué)籍管理系統(tǒng)

    C語言實(shí)現(xiàn)學(xué)籍管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)學(xué)籍管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++中的pair使用詳解

    C++中的pair使用詳解

    pair是定義在<utility>中的生成特定類型的模板,它的作用是把一組數(shù)據(jù)合并為一體,實(shí)際上是一個(gè)擁有兩個(gè)成員變量的struct,這篇文章主要介紹了c++的pair使用,需要的朋友可以參考下
    2022-09-09
  • 成員初始化列表與構(gòu)造函數(shù)體中的區(qū)別詳細(xì)解析

    成員初始化列表與構(gòu)造函數(shù)體中的區(qū)別詳細(xì)解析

    無論是在構(gòu)造函數(shù)初始化列表中初始化成員,還是在構(gòu)造函數(shù)體中對(duì)它們賦值,最終結(jié)果是相同的。不同之處在于,使用構(gòu)造函數(shù)初始化列表的版本初始化數(shù)據(jù)成員,沒有定義初始化列表的構(gòu)造函數(shù)版本在構(gòu)造函數(shù)體中對(duì)數(shù)據(jù)成員賦值
    2013-09-09
  • C/C++利用libxml2高效輸出XML大文件詳解

    C/C++利用libxml2高效輸出XML大文件詳解

    這篇文章主要給大家介紹了關(guān)于C/C++利用libxml2高效輸出XML大文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-11-11

最新評(píng)論

永吉县| 黄山市| 汉沽区| 偃师市| 万源市| 蚌埠市| 遵义市| 沾益县| 鸡泽县| 巢湖市| 贵州省| 乌拉特中旗| 葫芦岛市| 湘阴县| 图木舒克市| 威信县| 濮阳县| 六枝特区| 河东区| 横峰县| 星子县| 崇明县| 牡丹江市| 泰顺县| 满洲里市| 酒泉市| 桑植县| 湘潭市| 浦北县| 江津市| 金堂县| 淳化县| 温宿县| 开化县| 铜山县| 阿拉善左旗| 阳高县| 台山市| 京山县| 隆子县| 竹山县|