• 締切済み

Windows2000のAPIの使い方について

noname#9414の回答

noname#9414
noname#9414
回答No.1

基本的にNTと同じ関数名のはずですが・・・ #もっともVBAはあまり知らないので、何とも #言えませんが。 仮に引数を3つ追加したものをWindows 2000で 動作させるとどうなりますか? ではでは☆

n-michan
質問者

補足

回答ありがとうございます。 pvReserved,dwReserved,FlagsEx は Long型で定義し、0を代入しています。 lStructSize には関数で構造体の長さ(88)を入れています。 CommdlgExtendedError関数の返り値は11でした。 フックの指定か何かがおかしいのでしょうか? APIはあまりよく理解できていない状態なので詳しく質問内容を説明できなくて すみません。

関連するQ&A

  • Win32APIでシリアル通信をするには?

    Win32APIとVB.NETを使ってシリアル通信をするプログラミングを考えています。概要はGPS端末からのデータをVBで受信して表示できるようなプログラムを目指していますが、APIの使い方が分からないので詳しく教えていただける方がいましたら、サンプルソースまたは参考Webサイトの教示をお願いします。 VB6.0のクラス(MSComm)を追加する方法ではなく、APIを使う方向で回答お願いします。

  • js api

    javascriptにおいてapiと関数同じ物なのでしょうか? 以下引用 APIとは、アプリケーションプログラムインターフェイスの略語で、プログラミングの際に使用できる命令や規約、関数等の集合の事を指す。 ソフトウェア開発の際、いちから全てを作るより、APIを利用すればもともとあるプログラムを呼び出して、その機能を組み込んだソフトウェアを開発することができる。 APIの中に関数が含まれているという事でしょうか?

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • APIは極力使わない方が良い?

    アクセス+VBAでシステム構築しています。 VBAで色々記述しているのですが 先輩から「なるべくAPIは使わないでくれる?」と言われました。 とりあえず「わかりました」と答えましたが理由は聞けませんでした。 APIを使う事によって不都合が発生する理由は何でしょう? 開発環境は WIN7、アクセス2007 ADO・DAOを使う シングルユーザー(共有なし) です。 ご回答よろしくお願いします。

  • フォルダ参照ダイアログAPIをVBAに組み込んだときのESCキー押下

    フォルダ参照ダイアログAPIをVBAに組み込み、フォルダ選択画面が表示されたとき、ダイアログ上の「OK」「キャンセル」以外に、キーボードの「ESC」キーを押下すると、VBAの「コードの実行を中止」ダイアログが表示されプログラムの実行が中断します。「ESC」キーを押下しても「キャンセル」と同等の処理で、「コードの実行を中止」ダイアログを表示しないようにできるでしょうか。お知恵をお貸しください。

  • windowsでの自動化

    windowsで、画面上の色を取得して、自動的にクリックするプログラムを作りたいのですが、 必要なものがわかりません。 調べてみると、win32apiとvisual C++を使う方法があるようですが、他の方法はあるのでしょうか。 ちなみにプログラミングの経験は、C言語でCUIのプログラミングをしたことがある程度です。 簡単なデータ構造やアルゴリズムもわかります。 ですが言語は問いません。 よろしくお願いします。

  • windowsプログラミング

    "猫でもわかるwindowsプログラミング"を読みながらWin32 APIを勉強しているのですが、なかなかうまくいかないところがあります。 モードレスダイアログボックスを表示してコントロールも問題なく行えているのですが、ダイアログボックスのウィンドウについている赤い閉じるボタンが反応を返しません。 自分で作った閉じるボタンでは正常に閉じるのですが、ウィンドウの閉じるボタンを押しても閉じません… ダイアログボックスのボタン類のIDと同様にウィンドウについている閉じるボタンにもIDは存在するのかと思ったのですが、resource.hを見ても書かれていないのでなさそうですね… メインウィンドウであればWM_CLOSEメッセージが送られてきますが、この場合も何かしらのメッセージが送られてきているのでしょうか? Windows7 , Visual Studio 2010 , C言語で書いています。

  • C++ API 全般 APIの概要は

    独学にてプログラミングを勉強しているのですが、いきづまってしまったので質問お願いします。 ※Visual Studio 2008 Express Editionsを使用しています。 まだプログラミングに関しての勉強を始めて1ヶ月程度で、最初はVB.NETから始めて、最近C++に乗り換えました。 趣味の範囲でのゲームを作ろうと思っていて、C++とDirectXでの開発を予定しています。(しかし、最終的にはゲームに限らずプログラミングの技術と知識を習得することを目標にしています。)(DirectXに関してはまだ手をつけていません。) まったく1からのスタートで、現在win32コンソールアプリケーションにてコードの勉強をしているところです。 勉強に使っている参考文献は ・VisualC++.NET逆引き大全500の極意 ・ゲームプログラマになる前に覚えて起きたい技術(これを買うには早すぎたようです…。第一章も半分くらいしか理解できません…。) サイトは ・主に「0からのゲームプログラミング」というサイトです。 http://www.plustarnet.com/aspil/Programming/ 本題の質問ですが、APIというものがいまいち理解できません。 (1)上記のような目的で使用するAPIは、標準 Windows APIというものでいいのでしょうか? (2)win32コンソールアプリケーションでは実行できるのに、win32プロジェクトでは実行できないのはなぜでしょうか? #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , PSTR lpCmdLine , int nCmdShow ) { MessageBox(NULL , TEXT("Hello Wold!") , TEXT("メッセージボックス") , MB_OK); return 0; } (3)http://www.plustarnet.com/aspil/Programming/CConsole.htm このURLのコンソールAPIというのは、一般的に使われているものでしょうか?それともこのサイトのオリジナルのものでしょうか?win32コンソールアプリケーションでAPIを使うには、このURLのCConsoleクラスとうものをインクルードしないといけないのでしょうか?#include<windows.h>と宣言することによって気軽に使いたいものを使うことはできないのでしょうか? (4)#include<windows.h> とした場合、作るものが「win32コンソールアプリケーション」だったり「win32プロジェクト」だったり「windowsフォームアプリケーション」だったりで、使用方法などがまったく別になってしまうのでしょうか? (5)そもそも、上記の目的の場合APIを勉強する必要はあるでしょうか? (6)勉強をしたほうが後々に役立つ場合、どのAPIを勉強するのがいいのでしょうか?(APIといっても様々なものがあるんだなと思い質問しました。もし勘違いでAPIというものは一つしかないとしたらすみません。) なぜAPIに関してかというと、単純に上記のサイトで言語編の一番上から順に見ていったからです。 初心者すぎて質問が的外れかもしれませんがよろしくお願いします。

  • vbでのAPIの処理定義について

    はじめまして。 vb6.0で開発を行っている者です。 vbにてAPIを使用する際、 (1)GetProfileString (2)WriteProfileString (3)SendMessage は具体的にどこのファイルを参照・設定しているのでしょうか? (6.0や.NETも同様だと思いますが・・・) プログラムは正常に動いていますが、こう書けばいいのかなぁ? で希望通り動いてしまったため深く理解できずにいます。 ちなみに意味は以下のようにとらえています。 (1)端末設定を読み取る(c:\windows\win.iniの情報?) (2)端末設定の書き換え (3)書き換え情報の端末内通知? APIの情報がなかなか見つけれないため、 間違いや、ここを参照すればわかるなどありましたら教えてください。

  • ダイアログウィンドウの初期化メッセージ

    Win32API入門(http://wisdom.sakura.ne.jp/system/winapi/)を見ながら、BCC32でGUIプログラミングの勉強をしています。 現在、以下URLのサンプルのように、ダイアログアプリケーションとして自作のソフトを作ろうとしています。 http://wisdom.sakura.ne.jp/system/winapi/win32/win89.html さて、通常のダイアログ上のコントロールを初期化する際は、ウィンドウプロシージャでWM_INITDIALOGを補足するのが常套手段だと思いますが、上記サンプルのように、ダイアログアプリケーションとしてダイアログを生成した場合、WM_INITDIALOGが発行されないようです。 そこで、WM_CREATEを利用しようとしましたが、WM_CREATEが発行された時点では、GetDlgItem()等によるダイアログ上のコントロールのハンドル取得ができないようで、困ってしまいました。 ダイアログアプリケーションの初期化は、どのように行うのが正しいのでしょうか? WinMain()で、CreateDialog()の直後に初期化処理を行えば、ひとまず目的は達成するのですが、WinMain()内での処理は何となく邪道のような気がして、質問させていただきました。