只今、Vistaにも対応させようとソフトのバージョンアップを図っているのですが
実行しても何も表示されず終了しています。
調べ方が悪いのか、Vistaで実行させる為に必要な情報等が見つかりません。
どのようにすればVistaでも動作できるように出来ますか?
ご教授願いします。
使用しているVCはVC++ 2005です。
まっとうに作ってあれば何も変更しないでそのまま動くと思うが。
実際俺の作ったツールは無変更で動いた。
UAC にひっかかってるとか
DLL が足らないとかバージョン不一致とか (特に SP1)
manifest の設定が正しくないとか
> 実行しても何も表示されず終了しています。
何も表示してないからだろう。デバッガで追いかけたのかな?
UAC で問題が生じるような情報は検索すればごろごろ転がってるよ。
ドルマさんが、どんなアプリケーションを作ってるのか
どんな風につくってるのか
どんな環境でつくってるのか
さっぱりわからない。
vista以外でつくって、
vistaに実行ファイルを移動してテストしてるとかも
有り得るし、
「表示されない」は
・ウィンドウそのものが表示されない
・ウィンドウの上に何も表示されない
などあるし、
#ウィンドウアプリと仮定して・・・
バージョンアップについても
・古いVCからソースをVC2005の機能で変換した
・新たにプロジェクトをつくって、必要部分を貼り付けてつくった
とか、
無限とは言わないまでも、情報が少なすぎます。
こんな質問じゃ
「正しく組めば動きます」
としか答えられん
ご返信有難うございます。
現在ですがWindowsSDKを用いて開発を行っております。
開発環境はXP SP2でVC++8を使用しています。
コンパイルする度にvistaに移動して動作確認を行っていますが
単純なMessageBoxを表示するプログラムでさえも
実行しても何も表示されません。
開発したプログラムは98/ME/2000/XP全てでテストし動作しているのは確認済みです。
manifestもマニフェスト自動作成君で作成した物を用いていますが
難なく動いております。
>単純なMessageBoxを表示するプログラムでさえも
本当ですか?それはちゃんと以下のようなコードですか?実際にはMessageBox()の前に何か別の処理が入ってませんか?
int PASCAL WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow)
{
MessageBox(NULL,"test","test",MB_OK);
return 0;
}
別の処理が入っていないにもかかわらず上記のコードが動かないときは、ソース以前のプロジェクトの設定等が間違ってますよ。makeファイルを自分で書いてるとか?
>マニフェスト自動作成君
ていうかこれVC標準のもの?じゃないならそれが原因では?
あと細かいことですが、変な省略はせずバージョンはちゃんと書きましょう。
VC++8はVC2005を差しているんでしょうが、expressかどうかで回答が変わる場合もあります。気取ってる?わりには正確な情報が伝わってません。
>単純なMessageBoxを表示するプログラムでさえも
>実行しても何も表示されません。
>開発したプログラムは98/ME/2000/XP全てでテストし動作しているのは確認済みです。
こうなってくると、環境に固有の問題がありそうな気もします
どうやら
「vistaでは良く話題になる問題で、
解決方法はコレコレの設定をアレアレすればOKだよ」
みたいな話ではないようです
ツイート | ![]() |