HINSTANCE hInst;
hInst = (HINSTANCE)GetWindowLong(hWndElse, GWL_HINSTANCE);
GetModuleFileName(hInst, buf, 255);

というソースで、buf[0] が 0 でした。

GetWindowText( ) のように、GetModuleFileName( ) も
他のアプリに対しては 0 を返すんですか?

A 回答 (1件)

GetModuleFileName() のヘルプを見ると、第一引数の型は HMODULE でモジュールハンドルを


渡すことになってます。

それなのにインスタンスハンドルを渡しているからエラーになっているのでしょう。

GetModuleFileName() 関数の戻り値と GetLastError() を使って詳細の情報を
取得して、ヘルプを参照して見てください。
    • good
    • 0
この回答へのお礼

ありがとうございます。型を勘違いしていました。

お礼日時:2002/04/01 22:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qアプリがダウンロードできない

Androidです。
アプリをダウンロードしようとしても、ダウンロードができません。
他のアプリだとダウンロードできます。

エラーコードは24です。

Aベストアンサー

Androidのバージョンは?
4.0 以上の場合は、ダウンロード マネージャーが無効になっていないか確認。
「設定」「アプリ」「アプリを管理」「すべて」スクロールし「ダウンロード マネージャー」「無効」→「有効にする」(「有効」の場合は「データの消去」・・・注:データが消える)

データが消えるがリセットしてみる。
「Google Playストアのリセット」Playストア起動しホームスクリーンに戻る→「設定」「アプリ」「Google Playストア」キャッシュを消去と強制停止
→「設定」「アプリ」「すべて」「Google サービスフレームワークを表示」データを消去
→GooglePlayストア起動しエラー確認→本体の電源をシャットダウンし再起動

QSendMessage(hW,WM_CREATE,0,0);を

SendMessage(hW,WM_CREATE,0,0);
を実行するとシステムがWM_DOWNやWM_CHARを発行しなくなるみたいです
というのはそれ以降キー入力を無視するようになるのです
いったんアプリをアイコン化してウィンドウ化するとWM_DOWNやWM_CHARを発行するようになります
WM_CREATEを送ってもWM_DOWNやWM_CHARを発行しなくなるのを阻止するために何か方法はないでしょうか?

Aベストアンサー

>プログラムのイニシャライズのために送ったのですが送らないで住むプログラムに変更しました

普通はそんな方法はとりません。
システムが何をするか分からないからです。

自分でメッセージを定義して、初期化処理を行うようするためのメッセージを送るほうが無難です。
WM_CREATEと同じ処理を初期化処理として行わせたいのであれば、初期化処理を関数化して自分で定義したメッセージでも呼び出せばいいのですし。


>作ったプッシュボタンを押してシステムがWM_COMMANDを送ってきた後キー関係のメッセージを送ってくれなくなります

プッシュボタンがキーボードフォーカスを持ってのるでは?

ボタンがキーボードフォーカスを持っていてもキー関連のメッセージを親ウィンドウが受け取りたいのであれば、サブクラス化をするしかないでしょう。

Qiphoneでapp storeアプリがダウンロードできない場合

iphoneでapp storeアプリがダウンロードできない場合
容量を超えていてiphoneでダウンロードできない場合どうやってアプリをダウンロードするのですか?パソコンと同期して、パソコンでダウンロードしたんですが
クリックしても動きません。

Aベストアンサー

こんばんは。

WiFi接続すれば、20MBを超えるアプリもダウンロードできます。

また、PCでの同期の場合は、iTunesでアプリの同期設定が必要になります。

Qデータ型charの buf[ ]で「[ ]」に可変の数値を入れたい

以下の質問にお答え願います。
「#define SUUJI1123」で定義した時、
「char buf[SUUJI1];」の、「SUUJI1」は当然「123」であり、「char buf[123];」であることが言えます。

上記の例では、常に「SUUJI1」の値は「123」の固定であり、変わる事はありません。

では次の例で、SUUJI1の中味を場合によって可変にしたいのですが、例えば、「SUUJI1」の値を「123」ではなく、「777」にしたい時、int型「i」という変数を用いて、
「i = 777;」として、「char buf[i];」とした時、「error C2057: 定数式が必要です。」「error C2466: サイズが 0 の配列を割当てまたは宣言しようとしました。」とコンパイルエラーが出ました。

場合によって配列の数を変えたい時、どのようなやり方でプログラムを組めば良いのか教えて下さい。

Aベストアンサー

Cコンパイラならmalloc(ライブラリはstdlib.h)で領域を確保、戻り値のポインタ(char*)を使用。
用済みになったらfreeで解放。

C++であれば new char[i + 1] で領域を確保、同じく戻り値のポインタ(char*)を使用。
用済みになったらdelete []で解放。

他の皆さんの言うとおり、単純な配列に対して、動的な領域変更は許可されません。
新しいサイズの領域を確保した後、古い領域を解放する必要があります。

#STLのvectorを使用する場合、便利なメソッドが多々用意されています。

参考URL:http://www.cprogramming.com/tutorial/stl/vector.html

QVアプリをダウンロードしようとしたら???

アプリ★ゲットというサイトでVアプリをダウンロードしようとしたら、「この機種での動作確認が出来ておりません、ご了承いただいたらダウンロードをクリックしてください」というような表示が出ます。使用機種はV603SH。一度試しにダウンロードしたのですが、問題なく動作しましたが、いつか動作に問題が出たり、ダウンロードしたアプリが動作しなかったりという事が起きるかが気になっています。アプリ★ゲットというサイト自体V603SHに対応してないのでしょうか?

Aベストアンサー

動作確認が出来ていないのは、そのアプリの作者さんが603SHでの動作確認をしていない(出来ない)だけです。問題なく動作しているのであればそのまま使用して構わないのではないでしょうか。

> いつか動作に問題が出たり、ダウンロードしたアプリが動作しなかったりという事が起きるかが気になっています。

問題が生じる可能性がないとは言えませんが、アプリの異常終了程度では携帯電話本体への影響はあまりないと思います。データ消失などを気になさっているのであれば、定期的にSDカードにバックアップを取る事をお勧めします。

> アプリ★ゲットというサイト自体V603SHに対応してないのでしょうか?

アプリ★ゲットには603SHで動作確認されたアプリが多数ありますので対応していないという事はないでしょう。

QGetWindowText(hW,s,999);を実行

するのに
char s[999];
と宣言してもいいのでしょうか?
それとも
char s[1000];
と宣言すべきでしょうか?

Aベストアンサー

No2です

>1000にするのは問題無いけれど筋違いで筋からすれば999にするべきだという事ですね?

その通りです。別にどーでもいーことではありますが。

Qスマホのアプリをアンインストール後に再ダウンロード

アプリをいつも通りダウンロードしたのですが、
何度見てもアプリの一覧になかったので
アンインストールして、もう一度ダウンロードしようと試みましたが、
ダウンロードの画面で「ダウンロード」をタッチしても先の画面に進みません。
Playストアのマイアプリの中も探してみましたが、ありませんでした。
どうしたらもう一度アプリをダウンロードできるのでしょうか?
ちなみにauのIS17SHを使用しています。
よろしくお願いします。

Aベストアンサー

具体的なアプリ名をあげられた方が、わかりが良いかも?
アプリの都合か、質問者様の何か操作や設定ミスか、端末のトラブルか、何とも判断すきません。

Qこの”void(*m_pViewMode)(BYTE,BYTE,WORD);”このソースコードの意味は?

今、みているソースコードで次のようなコードがありました。


void(*m_pViewMode)(BYTE,BYTE,WORD);

--------(中略)----------------------------

m_pViewMode(err == 0 ? stKey.key : 0x00,clear,stKey.time);


全く何をどうやっているのかよくわからないのですが、これはC言語ではどのようなことをやっているソースコードなのでしょうか?

ご存じの方いらっしゃいましたらご教授お願いいたします。

Aベストアンサー

> void (*m_pViewMode)(BYTE,BYTE,WORD);
これは「関数へのポインタ」型の変数を宣言している。
m_pViewModeはBYTEとBYTEとWORDを引数に取り、返り値のない関数を保持するポインタ変数になる。

> m_pViewMode(err == 0 ? stKey.key : 0x00,clear,stKey.time);
ここでは、m_pViewModeに代入された関数を実行している。
「err == 0 ? stKey.key : 0x00」の部分が最初の引数で、三項演算子?:を用いてerrが0のときはstKey.keyを、それ以外では0x00を最初の引数にする。

Q中国スマートフォンでのアプリダウンロードについて

中国(大連)在住です。

最近、中国向けスマートフォン(SHARP SH8158U)を購入しました。

さっそく、アプリをダウンロードしようとしましたが、
「ANDROID MARKET」にアクセスできません。 というか、アイコンが見当たりません。
どうしたら、「ANDROID MARKET」のアプリをダウンロードできるでしょうか?
ご存知の方いましたら、是非とも教えて下さい。

現状、他のアプリサイトや、APKファイルのインストール等でアプリを追加していますが、
本当に欲しいアプリは、なかなか少なく、
なんとか、「ANDROID MARKET」のアプリをダウンロードしたいです。

よろしくお願い致します。

以上。

Aベストアンサー

Googleが対応していないとか以前に、中国からの国外サイト接続への検閲に引っかかるので中国では「違法」となる可能性もありますので無理やりマーケットを入れたとしても逮捕されないようにご注意を。

日本とは違いますのでくれぐれも。

中国の端末を日本で使うのであれば無理やりマーケットアプリを入れようが問題ないのでそのような日本での使い方はかまわないとは思いますが、中国はとにかく日本の感覚でITをみてはいけない気がします。

別に中国が嫌いなわけではなく、私は日本人ですが嫁が中国人なのでいろいろと文化の違いを直視していますが、くれぐれもご注意を。
このブログの方が詳しく解説されているので参考にしてみてください。

参考URL:http://chenyu.seesaa.net/article/12582250.html

Qstruct tanka_kosuu kosuu[10];の[10]て何

#include <stdio.h>
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
};
int main()
{
         struct tanka_kosuu kosuu[10];
       構造体宣言 構造体名  変数名
struct tanka_kosuu kari_nyuuryoku = {-1, 0, 0};
int nyuuryoku_kosuu = 0;
while(kari_nyuuryoku.tanka != 0){
scanf("%d %d", &kari_nyuuryoku.tanka,
&kari_nyuuryoku.kosuu);
kosuu[nyuuryoku_kosuu] = kari_nyuuryoku;
nyuuryoku_kosuu++;
}
return 0;
}
以上ですが、
 struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
以上と
struct tanka_kosuu kosuu[10];は
 以下
int tanka;
int kosuu[10];
int kingaku;
 と同じ意味ですか?
 それとも
  int tanka[10];
int kosuu[10];
int kingaku[10]; 
 と同じ意味ですか?
int tanka[10];と
 int kingaku[10];の
 合計に[10]は必要ないですよね
以上すべて私の考え方が間違っていたならごめんなさい。
 以上よろしくお願いいたします。

#include <stdio.h>
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
};
int main()
{
         struct tanka_kosuu kosuu[10];
       構造体宣言 構造体名  変数名
struct tanka_kosuu kari_nyuuryoku = {-1, 0, 0};
int nyuuryoku_kosuu = 0;
while(kari_nyuuryoku.tanka != 0){
scanf("%d %d", &kari_nyuuryoku.tanka,
&kari_nyuuryoku.kosuu);
kosuu[nyuuryoku_kosuu] = kari_nyuuryoku;
nyuuryoku_kosuu++;
}
return 0;
}
以上です...続きを読む

Aベストアンサー

#1です。

>struct tanka_ data { ・・・・(1)
>  int tanka;
>  int kosuu;
>  int kingaku;
>};
・・・途中省略
>} これでいいでしょうか

(1)のところは、変えてはいけません。
struct tanka_kosuu { 
のままにして下さい。
他は、問題ありません。


人気Q&Aランキング

おすすめ情報