ページ 1 / 1
いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 17:35
by らっせる
一日に何度もすいません。今日練習でいくつもプログラムを書いていて思ったのですが
作ったプログラムの一部を変えて実行すると
「○○○.exeを開いて書き込むことができません」
のメッセージが。。。
毎回タスクバーを起動して停止させるのが面倒なのですが何か良い方法ないでしょうか?
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 17:54
by hide
プログラムが正常に停止するように修正しましょう。
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 18:01
by らっせる
コード:
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode( TRUE ); // ウィンドウモードに設定
DxLib_Init(); // DXライブラリ初期化処理
int x = 50;
int Handle; // 画像格納用ハンドル
Handle = LoadGraph( "画像/キャラクタ01.png" ); // 画像のロード
while( 1 ){
if( ProcessMessage() != 0 ){ // メッセージ処理
break;//ウィンドウの×ボタンが押されたらループを抜ける
}
DrawGraph( x, 100, Handle, TRUE ); //画像の描画
x = x + 2; // xを2増やす
Sleep(7); // 7[ms]待機
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
とりあえずDxLib_End()は入っているのですが、それ以外に停止させる関数があるのでしょうか?(プログラミング歴が浅くて申し訳ないです)
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 19:32
by 8127
こんばんは。
DXライブラリではフレーム制御はProcessMessage()でやってくれるので
Sleep(7)は必要ないと思いますよ。
これでプログラムが正常に停止するかは分かりませんが…
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 20:53
by らっせる
こんばんはです。
今もう一回VSを立ち上げてやってみたところうまくいきました。
ただ、プログラムを正常に停止させるようにプログラムを書いていないのですがどうしてうまくいったのでしょうか??
うまくいく時とそうでない時があって困ってます(泣)
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 21:44
by 8127
ウィンドウの×ボタンでループを抜け、DxLib_End();return 0;が実行されるならプログラムは正常終了します。
(他に正常終了するための関数がある、ということではありません)
プロセスが残ってしまうのは、DxLib_End();が呼ばれずに終了したからです。
VC++等の機能で強制終了している、またはabort()を呼んだ、などが考えられると思います。
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 21:52
by Dixq (管理人)
> DXライブラリではフレーム制御はProcessMessage()でやってくれるので
Sleep(7)は必要ないと思いますよ。
いや、この場合必要あると思いますよ。
必要ないのは裏画面処理設定にしていてScreenFlip()を呼んだときです。
まぁ、普通裏画面処理をせずにゲームを作ることはないわけですが、、。
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月26日(日) 22:06
by らっせる
> プロセスが残ってしまうのは、DxLib_End();が呼ばれずに終了したからです。
VC++等の機能で強制終了している、またはabort()を呼んだ、などが考えられると思います。
なるほど。途中で強制終了しているということなんですね。
コード:
if(DxLib_Init() != 0){
return 0
}
こんな感じの要領でエラーがないか確認してみます。
Dixq(管理人)さん 裏画面処理というのをついさっき勉強しましたf(^_^)
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月29日(水) 18:28
by Dixq (管理人)
書いてはいけない4つの処理というものがありますので、紹介します。
http://dixq.net/g/h_11.html
Re: いちいち実行中の○○○.exeファイルを停止させるのが面倒なのですが
Posted: 2016年6月30日(木) 20:46
by らっせる
8127さん、管理人さん解答ありがとうございます。
自分はC言語をよく知らないのでもう少し勉強してみます。