WIN98で、APIが動作しない? – プログラミング – Home

WIN98で、APIが動作しない?
 
通知
すべてクリア

[解決済] WIN98で、APIが動作しない?


ただし
 ただし
(@ただし)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

急遽、WINAPIを使用する必要ができ、とりあえず動作するまではできたのですが、
WIN98SEでチェックをすると上手く動作してくれません。

制作環境は、
OS WIN2000 SP4
言語 VB6 SP1

チェック環境は、
OS WIN2000 SP4,WIN XP SP1,WIN98SE
VB 各未インストール

使用しているAPIは、
・FindWindow
・OpenProcess
・TerminateProcess
・CloseHandle
・SetParent
・MoveWindow
・GetWindowLong
・SetWindowLong
・ShowWindow
です。

症状としましては、エラーが出るわけでもなく、APIを使用している機能だけが
動作しません。
具体的には、
 自身のウィンドウサイズをAPIで変更しているが、反映されない
 呼び出した別exeが表示されない(サウンドだけが鳴っている)
  (サイズ調整、タイトルバーの削除、親子構造の変更がきかない。)

といったところです。

上記の現象は、WIN2000、WINXPでは起きませんでした。

いろんなサイトを調べたのですが、今のところ解決法は見つかっていません。
どのようにすればよいのか教えていただけないでしょうか?


引用未解決
トピックタグ
たいちい
 たいちい
(@たいちい)
ゲスト
結合: 20年前
投稿: 1
 

確実に異常が発生するなら、(多分)問題箇所を絞り込めます。
ログファイルを作って、プログラムの流れを追い、
どのAPIの呼び出しで異常が発生しているかなどを調べます。
APIの戻り値やGetLastErrorの値等をログにすると、
判りやすいのではないでしょうか。

# 釈迦に説法かもしれませんが、APIが原因でない可能性もあります。
# プログラムを見て、こうなるはず、とか、
# 実行された状況を見て、こうなったはず、とか思っても、
# それが見当違いである可能性があります。
# それらを実際に確かめるためにも、ログファイルは手軽で
# 有効な手段です。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

名前間違えた。ぼけぼけだ。


返信引用
ただし
 ただし
(@ただし)
ゲスト
結合: 20年前
投稿: 2
Topic starter  

たいちうさん、ありがとうございます。

# 釈迦に説法かもしれませんが、APIが原因でない可能性もあります。
# プログラムを見て、こうなるはず、とか、
# 実行された状況を見て、こうなったはず、とか思っても、
# それが見当違いである可能性があります。
# それらを実際に確かめるためにも、ログファイルは手軽で
# 有効な手段です。

実はVBというかプログラムは、昔(かなり)に少しかじっただけですので、
とてもありがたいアドバイスです。

いろいろ試したところ、APIの宣言は今までForm内でprivate宣言していたのですが、
これを標準モジュールでpublic宣言にすると、だいたいのものが動くようになりました。
WIN98系は、そうゆうものなのでしょうか。

ただ、タイトルバーを削除する部分だけが上手く動きません。
たいちうさんのおっしゃるように、ログファイルなどいろいろ試してやってみようと
思います。

ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました