便利テクニック ハードディスク内から探し出さなくてもすぐにgame.exeを実行できるようgame.exeをタスクバーにピン止めしてみよう


ソーラー「どう? どう?


もう分ったでしょう


ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


画像を表示するには


2段階の過程が必要なことは理解できた分かった


以下のプログラムをデバッグなしで実行しただけでは


ゲーム画面に飛行機の画像を表示することはできないんだよ」


👇


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果


https://solalion.blogspot.com/2021/07/blog-post_19.html


(飛行機の画像は表示されていませんね)


ソーラー「いままで


Visual Studioの画面の上部のメニューから


デバッグ(D)



選択

クリックして


表示されるメニュー画面から


デバッグなしで開始(H)


をクリックして


プログラムを実行してきましたが



その方法では


ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


飛行機の画像を表示することはできないんです」


マックス「ふはは


もうそれについては学習済みだー



DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


飛行機の画像を表示するには


2段階のプログラムの実行過程が必要なんだろう




まず

第一段階は


          😊いままで通り(*´▽`*)


Visual Studioの画面の上部のメニューから


デバッグ(D)



選択

クリックして


表示されるメニュー画面から


デバッグなしで開始(H)


をクリックして


プログラムを実行する


このとき


DrawGraph(300, 230, graphichandle, TRUE);


が実行されているが


ゲーム画面は真っ黒なままで何も表示されないっと(*´▽`*)


ところで


このとき


exeファイルは生成されているんだったな(*^_^*)」



ソーラー「その通りなんです


その


生成された


exeファイルが大事なんです



第2段階です


コンピューターのハードディスクの中から


exeファイルのある場所を探し出します


あとは探し出した


           🌞exeファイルを直接クリックする🌞



ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


飛行機の画像が表示されることになります」



マックス「もう楽勝だな」



ソーラー「どう? どう?


ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


飛行機の画像を表示するには


2段階の過程が必要なことは理解できた分かった


以下のプログラムを実行しただけでは


ゲーム画面に画像を表示することはできないんだよ」


👇


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果


https://solalion.blogspot.com/2021/07/blog-post_19.html

(飛行機の画像は表示されていませんね)



マックス「2段階か・・・


ところでなあ


デバッグなしで開始(H)


をクリックして


プログラムを実行する


その後


///////////////////////////////////////////////////////////


コンピューターのハードディスクの中から


exeファイルのある場所を探し出します


あとは探し出した


           🌞exeファイルを直接クリックする🌞



ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


飛行機の画像が表示されることになります


///////////////////////////////////////////////////////////


ってあるが


//////////////////////////////////////////////

コンピューターのハードディスクの中から


exeファイルのある場所を探し出します

//////////////////////////////////////////////

って


結構大変じゃないか


俺たちは


gameという名前のプロジェクト



プログラムを作成しているので


プログラムを実行したとき


生成される


exeファイルの名前は


game.exeファイルとなるんだが


そもそも


game.exeファイルのある場所が


Cドライブの中の


Usersフォルダの中の


solarフォルダの中の


sourceフォルダの中の


reposフォルダの中の


gameフォルダの中の


          🌞Debugフォルダ🌞の中となっていることが分からなければ💖💖💖💖💖💖💖


game.exeファイルのある場所に


たどりつくのは難しいんじゃないか?」


😊  😊  😊  😊  😊


おまけ


game.exeファイルへの完全パスは


(game.exeファイルへたどり着くための道は)


C:\Users\solar\source\repos\game\Debug\game.exe


となっています


😊  😊  😊  😊  😊


ソーラー「いや~その通りなんです」


マックス「


なんかこう


すぐに


game.exeファイルのある場所


にたどり着けないか?


いや


もっというと


game.exe専用のアイコンをクリックすると


簡単に


game.exeが実行されるみたいな


ショートカットみたいなの


そんなの


なんかないのか」


ソーラー「えへっ」


マックス「な、なんだ?」


ソーラー「うひっ」


solarplexuss「うへは」


マックス「な、何が起こっている?」


ソーラー「うふふ


game.exe専用のアイコンをクリックすると


簡単に


game.exeが実行されるですか・・・


実は


そのアイコンを


もう何回もみているんだよ~」


マックス「な、なにぃ?」


ソーラー「そのことを確認するために


まず


以下のプログラムをVisual Studioのエディタ画面に


書き込んでください


まだ


デバッグなしで実行してはいけません

👇

#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


マックス「なになに?


Visual Studioのエディタ画面にこのプログラムを書き込めばいいのか?



・・・


プログラムを書き込んだぞ


その様子を示す画像にはこちらからアクセスできます

👇



https://solalion.blogspot.com/2021/09/blog-post_76.html


マックス「👆って


今更


Visual Studioのエディタ画面に


プログラムが書き込まれた画像を表示するんか~い」


ソーラー「


では


この画像をよく見ておいてね

👇

https://solalion.blogspot.com/2021/09/blog-post_76.html


では


今度は


いよいよ


Visual Studioのエディタ画面に


書き込まれた


このプログラムを実行してみましょう


👇


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで  WaitKey(); 以下の行の命令文は実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果はこちらをご覧ください

👇


https://solalion.blogspot.com/2021/07/blog-post_19.html


マックス「なんだ


いつも通り


真っ黒な画面が表示されただけじゃないか?


このあと


コンピューターのハードディスクの中から


game.exeファイルのある場所を探し出して


クリックすれば


ちゃんとプログラムが実行され


飛行機の画像が表示されるんだろう


そういう仕組みだったな」


ソーラー「そうなんです


みんな


今 真っ黒い画面が表示されているけど


今 このときの


パソコン画面全体に注目してね


その画像はこちらです

👇

https://solalion.blogspot.com/2021/09/blog-post_43.html

(画像が見えにくい場合は画像をクリックすると拡大表示されます)



マックス「


??

ふつうに


ただ黒いゲーム画面が表示されているだけじゃないか?」


ソーラー「


プログラムを実行する前の画像と


👇


https://solalion.blogspot.com/2021/09/blog-post_76.html


プログラムを実行した後の画像では


👇

https://solalion.blogspot.com/2021/09/blog-post_43.html


違いがあります


その違いがわかりますか?」


solarplexuss「違い?


???」


マックス「違いって


黒いゲーム画面が表示されているかいないかだけの差じゃないか?」


ソーラー「ほんとお~?」


マックス「ううむ


おや?


プログラムを実行した後の画像では


👇

https://solalion.blogspot.com/2021/09/blog-post_43.html


何か


下の方に新しいアイコンが表示されていないか?」


その画像はこちらです

👇


https://solalion.blogspot.com/2021/09/blog-post_3.html


ソーラー「そう 白い四角形の中に


青い四角形が描かれているアイコンが表示されていますね」


solarplexuss「い、いつのまに」


ソーラー「このアイコンが表示されている場所はタスクバーといいます


ここには今実行されているアプリ(プログラム)が表示されることになります


そして


この白い四角形の中に


青い四角形が描かれているアイコンは


game.exeファイルを実行すると


表示されるアイコンなんです」


solarplexuss「へえ~」


ソーラー「そして


便利なことに


このアイコンをクリックすれば


game.exeファイルが実行されるんです 

 

ですから


コンピューターのハードディスクの中から


game.exeファイルのある場所を探し出してクリックすることにより


game.exeファイルを実行しなくても


 このアイコンをクリックすれば


game.exeファイルを実行することができるようになるんです




ただし


このアイコンは


game.exeファイルが実行されている間だけ表示されています


game.exeファイルの実行が終了すると


このアイコンは消えてしまいます


今は


WaitKey();


関数の実行により


何かキーボードから


ボタンが押されるまで


WaitKey();


以下の命令文


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します


は実行されない状態になっています


このとき


真っ黒いゲーム画面が表示されたままですが


game.exeファイル自体は実行され続けています


ですので


この白い四角形の中に


青い四角形が描かれているアイコンは


消える事はありません


もし


何かキーボードから


ボタンが押されたなら


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します


が実行されて


game.exeファイルの実行は終了することになります


このとき


真っ黒いゲーム画面も消えることになります


同時に


白い四角形の中に


青い四角形が描かれているアイコンも消去されます」


マックス「なるほど


このアイコンは


game.exeファイルの実行と連動しているわけだ」


ソーラー「試しに


何かキーを押して


game.exeファイルの実行を終了してみますか?


game.exeファイルの実行が終了すると


この白い四角形の中に


青い四角形が描かれているアイコンは消去されます


その様子を示す画像はこちらです


👇

https://solalion.blogspot.com/2021/09/blog-post_36.html


solarplexuss「あっほんとだ


白い四角形の中に


青い四角形が描かれているアイコンが


消去された!」


ソーラー「ここで


白い四角形の中に


青い四角形が描かれているアイコン


を表示するために


再びもう1回


今のプログラム(game.exeファイル)を実行してみましょう


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで  WaitKey(); 以下の行の命令文は実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果


https://solalion.blogspot.com/2021/07/blog-post_19.html


solarplexuss「あっまた


白い四角形の中に


青い四角形が描かれているアイコン


が表示された!」



ソーラー「


game.exeファイルを実行したので


再び


白い四角形の中に


青い四角形が描かれているアイコンが表示されたね


このアイコンは


game.exeファイルが実行されている間だけ


表示されます


今はまだプログラムが実行されているので


白い四角形の中に


青い四角形が描かれているアイコンは表示されています


          🌞ここで🌞


白い四角形の中に


青い四角形が描かれているアイコンを右クリックします


そして


表示されるメニュー画面から


タスクバーにピン止めする


という項目を


左クリックします


すると


game.exeファイルが終了しても


この


白い四角形の中に


青い四角形が描かれているアイコンは


消去されず


タスクバーに表示されたままになります」


solarplexuss「ほええ」


ソーラー「


このアイコンをクリックすれば


game.exeファイルが実行されるんです


アイコンをクリックすると


game.exeファイルが実行され


飛行機の画像が表示されることになります


その様子を示す画像はこちらです

👇

https://solalion.blogspot.com/2021/09/blog-post_41.html


👆

ほんと


アイコンをクリックするだけで


飛行機をゲーム画面に表示するプログラムを


実行し


飛行機をゲーム画面に表示できたね



つまり


もう


ソースコードを


デバッグなしで実行をして


game.exeファイルを作成したあと


飛行機の画像をゲーム画面に表示するのに


わざわざ


コンピューターのハードディスクの中から


game.exeファイルのある場所を探し出してクリックすることにより


game.exeファイルを実行しなくてもよくなるんです


どう


便利だね」


solarplexuss「タスクバーに


白い四角形の中に


青い四角形が描かれているアイコン


が表示されたままになるっていうのがいいね💖!」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る