API関係の良い本しりませんか?
APIビューアにものってないようなことまで
書いてるような詳しいのがほしいのですが・・・・

このQ&Aに関連する最新のQ&A

A 回答 (4件)

Windows API関係の本であれば、結構出ていると思いますよ。

ただし、言語はVisual C++のものが多いので、使用する際にはVisual C++を解析品柄という形になる可能性は高いですが・・・

詳しいものはほとんどVisual C++もしくはC言語で書かれているものがほとんどだと思います。ただ、Visual Basicのものでも出ていたと思いますので、本屋さんにいって、探してはどうでしょうか?ヨドバシカメラとかサクラヤの書籍売り場でもおいてあったと思いますよ。
#すいません、書籍の名前は覚えていません。

ではでは☆
    • good
    • 0
この回答へのお礼

VC系の本棚を見てみると結構よさそうさな本が
いっぱいありました。
アドバイスありがとうございます。

お礼日時:2002/01/30 15:39
    • good
    • 0
この回答へのお礼

以前にAPIの本系の質問が出てたんですね。
見逃してました。
リンクまではっていただいてありがとうございます。

お礼日時:2002/01/30 15:53

こんにちは。

maruru01です。
とりあえず、私が使っている本を。

「Visual Basic 6.0 300の技 API+COM編」
    有限会社ガリバー著 技術評論社

説明はあまり載ってないサンプル集として、
「Win32 APIを使いこなそう! Visual Basic Tips 1000+」
    ソシム

両方ともCD-ROM付きです。
また両方ともガリバーのサイトでサンプルを入手出来ます。
あと、ご存知かも知れませんが、VBに付属のMSDNライブラリーには、一通りの説明は載っています。
参考になれば幸いです。
では。

参考URL:http://www.vbvbvb.com/jp/
    • good
    • 0
この回答へのお礼

MSDNライブラリにAPI系が全部?書いてあるのは知ってたんですけど、
英語が・・・・・(涙)
回答ありがとうございます。

お礼日時:2002/01/30 15:48

翔泳社の「Windows95 APIバイブル1 Win32編」がお薦め!


僕もこの本があって助かりました。
Windows 95って書いてるからちょっと古い気がするけど
Win32APIだったら全然問題ないです。
なんでWin32っていう名前にしなかったんだろう?

参考URL:http://www.shoeisha.com/book/Detail.asp?bid=607
    • good
    • 0
この回答へのお礼

確かに結構詳しく書いてありました。
購入候補に入れておきます。
回答ありがとうございます。

お礼日時:2002/01/30 15:44

このQ&Aに関連する人気のQ&A

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

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

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

QAPI関数(DLL)の呼び出しにおいて、DLLの格納場所は?

お世話になります。
VB.NETでAPI関数を呼び出す場合にまず、API関数を格納しているDLLを宣言しなけれならないと下記URLにあります。
(http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html)

(a)DllImport属性を利用する方法
<System.Runtime.InteropServices.DllImport("DLL名")> _
Function API関数名(仮引数)
End Function
(b)Declareステートメントを利用する方法
Declare Function API関数名 Lib "DLL名" (仮引数)

そこで、質問なのですが、(a)、(b)どちらの方法で実現する場合においても、DLLの格納場所はC:\Windows\System32でないといけないのでしょうか?(実際にコーディングしてもSystem32フォルダにないとエラーになってしまいます。)
任意のフォルダにDLLを格納し、そこを参照できるようにできるのでしょうか?
また、一般常識としてDLLはSystem32フォルダに格納しておかないといけないものなのでしょうか?

以上、よろしくお願いいたします。

お世話になります。
VB.NETでAPI関数を呼び出す場合にまず、API関数を格納しているDLLを宣言しなけれならないと下記URLにあります。
(http://www.atmarkit.co.jp/fdotnet/dotnettips/024w32api/w32api.html)

(a)DllImport属性を利用する方法
<System.Runtime.InteropServices.DllImport("DLL名")> _
Function API関数名(仮引数)
End Function
(b)Declareステートメントを利用する方法
Declare Function API関数名 Lib "DLL名" (仮引数)

そこで、質問なのですが、(a)、(b)どちらの方法で実現する場合...続きを読む

Aベストアンサー

DLL名にパスを含んでいない場合は
1) EXEファイルのカレントフォルダ
2) Windowsのシステムフォルダ(Win9x系ならWindows\Sysytem・WinNT系ならWindows\System32)
3) Winddows\Systemフォルダ
4) Windowsフォルダ
5) 環境変数PATHの設定フォルダ
といった順番でDLLを探すと思います
WinNT系へインストールする際にフォルダの権限などが原因で独自のDLLをWindows\System32へ書き込み出来ないとか
アンインストールなどの機能を提供しない
などの要因によって DLL自体を実行ファイルと同じフォルダに置くこともありますよ

『DLLを必ずWindows\System32に置きなさい』といった規約はありません

Qスクリプトで「タスクが終了」or「イベントビューアに指定エラー」が出た

スクリプトで「タスクが終了」or「イベントビューアに指定エラー」が出たことを確認させてメールを飛ばすことはできますでしょうか?
まず上記の条件判定をしてメールで情報を知りたいのですがメールを飛ばすにはどのようにしたらいいかわかりません。
そもそもスクリプトでメールを飛ばしてあげること自体可能でしょうか?

Aベストアンサー

うーん。どういうAPIとかが飛んでるか考えたことないからコード的なことはわからないんだけど、

Windows XP Proなんかだと、Eventtriggers.exeってのが付いているらしい。
http://technet.microsoft.com/en-us/library/bb457126.aspx
http://www.petri.co.il/forums/showthread.php?t=32283

#アプリケーション配布時は「できないこと」じゃなく「何故できないか」を書いて欲しいよねー

Q本やネットの情報は、なぜ例外処理は省かれて書かれているのですか?

本やネットの情報は、なぜ例外処理は省かれて書かれているのですか?

例外処理って企業秘密ですか?
それとも、書いている人は例外処理に自信がないのですか?

Aベストアンサー

例えばの話をします。

----------------------------------------------------------------------------------------------------------
Public Class Form1

Private Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click
Dim strEdit As String

strEdit = Test1("A") '←(1)

MessageBox.Show(strEdit, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

Private Function Test1(ByVal strIndex As String) As String
Dim strRet As String

Try

strRet = String.Empty

Select Case strIndex
Case 0
strRet = 1 + strIndex
Case 1
strRet = 3 + strIndex
Case Else '←(2)
strRet = 5 + strIndex
End Select

Return strRet

Catch ex As Exception '←(3)
Throw '←(4)
End Try

End Function

End Class

■この処理を実行した場合
(1).btnTest の Click イベントで呼んでいる Test1 メソッドの引数が "A" です。
(2).Test1 内の Select Case 文の Case Else で 5 + strIndex をやっています。
しかし、 strIndex には"A"が入ってくるので 5 + strIndex が成り立たずエラーになります。
(3).Try-Catchをしているので例外が発生した場合ここに飛びます。
(4).Throwしているのでメソッドの呼び元(今回の場合はbtnTest)へ例外を返します。

☆ここがポイント☆
btnTest の Click イベントでは Try-Catch していません。
つまり、 Test1 で例外が発生しても何もしないということです。
どのようになるかというと、 Microsoft が提供している致命的エラーのダイアログが出ます。
見た目が良くないです。
※画像参照
----------------------------------------------------------------------------------------------------------
btnTest の Click イベントに Try-Catch を入れてみます。

■例えばこんな感じ

Private Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click
Dim strEdit As String

Try
strEdit = Test1("A")

MessageBox.Show(strEdit, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information) '←※(1)
Catch ex As Exception '←(5)
'使いまわしはあまりよくないがTestなので・・・
strEdit = String.Empty
strEdit = "処理が異常終了した為、強制終了します。"
strEdit += vbNewLine
strEdit += vbNewLine
strEdit += "エラー内容: "
strEdit += ex.Message
MessageBox.Show(strEdit, "System Error", MessageBoxButtons.OK, MessageBoxIcon.Error) '←(6)
End '←(7)
End Try

'←※(2)

End Sub

(5). Test1 メソッドで発生した例外を Catch します。
(6).エラー内容を表示します。
(7).システムを落とします。

※(1)のメッセージ表示は※(2)の位置にあってもかまわない。
----------------------------------------------------------------------------------------------------------
■システム的に例外が発生したことを認識したいが異常終了とせず処理を続行する場合
Private Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click
Dim strEdit As String

Try
strEdit = Test1("A")
Catch
strEdit = "計算エラーが発生しています。" '←(8)
End Try

MessageBox.Show(strEdit, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

(8). Test1 メソッドで例外が発生しているが処理を続行したいのでメッセージを変更する。
----------------------------------------------------------------------------------------------------------

なんか参考資料みたくなってしまいましたが、例外は時と場合によって変化するということを書きたかったです。
長文になってしまいましたが、わかるでしょうか?

例えばの話をします。

----------------------------------------------------------------------------------------------------------
Public Class Form1

Private Sub btnTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnTest.Click
Dim strEdit As String

strEdit = Test1("A") '←(1)

MessageBox.Show(strEdit, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)

End Sub

Private Function Test1(ByVal strI...続きを読む

QVBでWININET API

こんばんわ。VBでWININET APIを使用してIEのインターネットオプションの設定を変える方法はあるのでしょうか。APIを使わなくてもいい方法があるのでしたらそれでも構いません。インターネットオプションの設定が変えれればいいので。宜しくお願い致します。

Aベストアンサー

なるほどーそういうことですかー
勘違いしてました。
それならば大まかに予想がつきます。
レジストリエディタで
HKEY_CURRENT_USER
SoftWare
Microsoft
Internet Explorer
の中を操作してあげれば可能だと思います。

この中の情報は公開されてないと思うので、自分でインターネットオプションを変更しながら、どこがどのように変わるのかを調査する必要があると思います。

後はレジストリの変更を
VBの機能を使うなら SaveSetting
APIなら RegCreateKeyEx
で、かければよいと思います。

QAPIについて

■環境
WINDOWS-XP
■質問
マイクから拾った音声ファイルをMIDIデータにしたいのですが。
該当するwin-APIがわかる方いらしゃいませんでしょうか?

Aベストアンサー

> 用途は、単純な仕組みの音程とリズムだけで判定するカラオケの採点機のような機能がついたマイク入力の音ゲーをつくりたいのですが。難しいでしょうか?

「周波数測定プログラム VB」あたりをキーワードに検索すると音程の判定は探せるかもしれません。直前数ミリ秒の判定なら何とかゲームになるかな?
リズムについては時間を見ればいいので何とかなるでしょう。

ちょっとプログラムを組んだことのないジャンルなのでこの辺で勘弁を。


人気Q&Aランキング

おすすめ情報