読者です 読者をやめる 読者になる 読者になる

WindowsAPI

socket

WindowsAPI(Win32API) Advent Calendar 2015 25日目(最終日) WindowsAPI(Win32API) Advent Calendar 2015 - Adventarsocketは、ソケットを作成するWindowsAPI・・・。socket function (Windows)UNIX系OSのsocketとほぼ同じようなものも用意されている・・・…

WSASocket

WindowsAPI(Win32API) Advent Calendar 2015 24日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarWSASocketは、ソケットを作成するWindowsAPI・・・。WSASocket function (Windows)第3引数まではUNIX系OSのsocketと同じように使える・・・。 第4引…

WSAStartup

WindowsAPI(Win32API) Advent Calendar 2015 23日目 WindowsAPI(Win32API) Advent Calendar 2015 - Adventar前回までで、WinInetでHTTP通信などの簡易的なインターネットアクセスについては説明できた・・・。 より高度な、というか自由にネットワークを扱う…

HttpQueryInfo

WindowsAPI(Win32API) Advent Calendar 2015 22日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarHttpQueryInfoは、HTTPリクエストやHTTPレスポンスの中の、マクロで指定された情報を取得するWindowsAPI・・・。HttpQueryInfo function (Windows)…

HttpSendRequest

WindowsAPI(Win32API) Advent Calendar 2015 21日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarHttpSendRequestは、HTTPリクエストを送信するWindowsAPI・・・。HttpSendRequest function (Windows)HttpOpenRequestで作成したリクエストをこれで…

HttpOpenRequest

WindowsAPI(Win32API) Advent Calendar 2015 20日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarHttpOpenRequestは、HTTPリクエストを作成するWindowsAPI・・・。HttpOpenRequest function (Windows)セッションハンドル、HTTPメソッド、対象とな…

InternetConnect

WindowsAPI(Win32API) Advent Calendar 2015 19日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarInternetConnectは、指定のポート番号で指定のサーバに接続するWindowsAPI・・・。InternetConnect function (Windows)これでWebサーバにアクセスす…

InternetReadFile

WindowsAPI(Win32API) Advent Calendar 2015 18日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarInternetReadFileは、指定されたハンドルの開かれたURLリソースの内容を読み込むWindowsAPI・・・。InternetReadFile function (Windows)前回、Inte…

InternetOpenUrl

WindowsAPI(Win32API) Advent Calendar 2015 17日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarInternetOpenUrlは、指定されたURLリソース(そのURLのファイルなど)を開くWindowsAPI・・・。InternetOpenUrl function (Windows)これで、"http://b…

InternetOpen

WindowsAPI(Win32API) Advent Calendar 2015 16日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarInternetOpenは、Win32のインターネット拡張機能であるWinInetの初期化をするWindowsAPI・・・。InternetOpen function (Windows) InternetOpenHTTP…

PBM_SETSTEP

WindowsAPI(Win32API) Advent Calendar 2015 15日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarPBM_SETSTEPは、プログレスバーの1回の進捗での増分をセットするウィンドウメッセージ・・・。PBM_SETSTEP message (Windows)何も設定しないデフォ…

PBM_STEPIT

WindowsAPI(Win32API) Advent Calendar 2015 14日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarPBM_STEPITは、プログレスバーの進捗を進めろと命令するウィンドウメッセージ・・・。PBM_STEPIT message (Windows)Button1を押したら、500ミリ秒間…

PBM_SETRANGE

WindowsAPI(Win32API) Advent Calendar 2015 13日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarPBM_SETRANGEは、プログレスバーの範囲をセットするウィンドウメッセージ・・・。PBM_SETRANGE message (Windows)SendMessageの第4引数にLPARAM型の…

PBM_SETPOS

WindowsAPI(Win32API) Advent Calendar 2015 12日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarPBM_SETPOSは、プログレスバーの進捗の現在位置をセットするウィンドウメッセージ・・・。PBM_SETPOS message (Windows)これをSendMessageの第2引数…

PROGRESS_CLASS

WindowsAPI(Win32API) Advent Calendar 2015 11日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarPROGRESS_CLASSは、プログレスバーのウィンドウクラス名マクロ・・・。resource.hに、PROGRESS_CLASS.rcに、プログレスバーIDC_PROGRESS1を配置する…

ListView_GetItemText

WindowsAPI(Win32API) Advent Calendar 2015 10日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarListView_GetItemTextは、リストビューの指定されたインデックスの項目のテキストを取得するマクロ・・・。ListView_GetItemText macro (Windows)こ…

ListView_GetNextItem

WindowsAPI(Win32API) Advent Calendar 2015 9日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarListView_GetNextItemは、リストビューの指定されたインデックスから順に調べて、指定の条件の状態になっている項目のインデックスを探しだすマクロ…

ListView_SetItem

WindowsAPI(Win32API) Advent Calendar 2015 8日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarListView_SetItemは、リストビューに追加した行のそれぞれの列項目(サブアイテム含む)に値をセットするマクロ・・・。ListView_SetItem macro (Windo…

ListView_InsertItem

WindowsAPI(Win32API) Advent Calendar 2015 7日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarListView_InsertItemは、リストビューに項目(行)を追加するマクロ・・・。ListView_InsertItem macro (Windows)このマクロ単一だと、行の最初の列し…

ListView_InsertColumn

WindowsAPI(Win32API) Advent Calendar 2015 6日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarListView_InsertColumnは、リストビューの列名を追加するマクロ・・・。ListView_InsertColumn macro (Windows)API関数のように見えるが、実際は関数…

WC_LISTVIEW

WindowsAPI(Win32API) Advent Calendar 2015 5日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarWC_LISTVIEWは、リストビューのウィンドウクラス名マクロ・・・。リストビューはコモンコントロールなので、commctrl.hのインクルードや、comctl32.l…

GetSaveFileName

WindowsAPI(Win32API) Advent Calendar 2015 4日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarGetSaveFileNameは、"ファイル名を付けて保存"というタイプのファイル選択ダイアログを表示するWindowsAPI・・・。GetSaveFileName 関数パラメータは…

GetOpenFileName

WindowsAPI(Win32API) Advent Calendar 2015 3日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarGetOpenFileNameは、"ファイルを開く"というタイプのファイル選択ダイアログを表示するWindowsAPI・・・。GetOpenFileName 関数OPENFILENAME構造体変…

MoveWindow

WindowsAPI(Win32API) Advent Calendar 2015 2日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarMoveWindowは、指定されたウィンドウの位置やサイズを変更するWindowsAPI・・・。MoveWindow 関数今回はCreateWindowでエディットボックスを子ウィン…

CreateDIBSection

WindowsAPI(Win32API) Advent Calendar 2015 1日目 WindowsAPI(Win32API) Advent Calendar 2015 - AdventarCreateDIBSectionは、DIBセクションを作成するWindowsAPI・・・。CreateDIBSection 関数 DIBSectionを作る【Windowsプログラミング研究所】DIBセクシ…

SetDIBitsToDevice

SetDIBitsToDeviceは、指定されたDIB画像をデバイスコンテキストに描画するWindowsAPI・・・。SetDIBitsToDevice 関数これまでは、DIBを読み込んだらDDBに変換してから、BitBltなどのDDB用関数で描画していた・・・。 SetDIBitsToDeviceは、DIBのままデバイ…

GetDIBits

GetDIBitsは、指定されたハンドルのDDBのピクセルデータ列を指定のメモリ領域に格納するWindowsAPI・・・。GetDIBits 関数CreateDIBitmapがDIBからDDBへの変換を行うための関数とすると、このGetDIBitsは逆でDDBからDIBへの変換を行うことができる・・・。Lo…

SetDIBits

SetDIBitsは、指定したピクセル列を指定したビットマップハンドルのDDBに反映させるWindowsAPI・・・。SetDIBits 関数前回、CreateDIBitmapでDDBにして表示したビットマップのピクセルデータ列に変更を加える・・・。 DDB用の関数ではなく、DIBのピクセルデ…

CreateDIBitmap

CreateDIBitmapは、DIBからDDBを作成するWindowsAPI・・・。CreateDIBitmap 関数 DIB→DDB変換【Windowsプログラミング研究所】これまでビットマップは、LoadImageでロードし、取得したビットマップハンドルをSelectObjectでデバイスコンテキストに選択させ、…

GetFileSize

GetFileSizeは、ファイルサイズを取得するWindowsAPI・・・。GetFileSize 関数ファイルサイズを取得するには、そのファイルのハンドルを取得する必要があるので、ファイルをCreateFileなどで開いてハンドルを取得しないといけない・・・。CreateFileで"test.…

WM_MOVE

WM_MOVEは、ウィンドウが動かされた時に発生するウィンドウメッセージ・・・。WM_MOVE message (Windows)LOWORD(lParam)で移動後のウィンドウのクライアント領域位置座標x, HIWORD(lParam)で移動後のウィンドウのクライアント領域位置位置座標yを取得できる…

WM_SIZE

WM_SIZEは、ウィンドウがリサイズされた時に発生するウィンドウメッセージ・・・。WM_SIZE message (Windows)LOWORD(lParam)で変更後のウィンドウのクライアント領域の幅、HIWORD(lParam)で変更後のウィンドウのクライアント領域の高さが取得できる・・・。…

GetCursorPos

GetCursorPosは、マウスカーソルの位置を取得するWindowsAPI・・・。GetCursorPos 関数PeekMessageによるメインループの中で、ウィンドウメッセージが来ていない時に、マウスカーソルの位置を取得し、位置座標を描画する・・・。PeekMessageでメッセージが来…

WM_MOUSEMOVE

WM_MOUSEMOVEは、ウィンドウの上でマウスカーソルが動かされた時に、そのウィンドウ上で発生するウィンドウメッセージ・・・。WM_MOUSEMOVE message (Windows)LOWORD(lParam)でマウスカーソルのx座標、HIWORD(lParam)でマウスカーソルのy座標が取れるので、…

GetKeyState

GetKeyStateは、指定された仮想キーコードのキーが押されたかどうかを判定するためのWindowsAPI・・・。GetKeyState 関数キーの判定はWM_KEYDOWNのようなウィンドウメッセージでもできるが、この関数を呼んだときにキーが押されているかを確認したい場合は、…

WM_KEYDOWN

WM_KEYDOWNは、キーボードのあるキーが押された時に発生するウィンドウメッセージ・・・。WM_KEYDOWN message (Windows)矩形を描画して、上下左右キーを押されたら矩形が移動するようにする・・・。スタティック変数x, yを用意・・・。キーが押されたら、WM_…

VirtualAlloc

VirtualAllocは、仮想メモリの割り当てを行うWindowsAPI・・・。VirtualAlloc 関数 ヒープに関する話題 - Web/DB プログラミング徹底解説HeapAllocは、小さなメモリをたくさん確保するのに効率的・・・。 対するVirtualAllocは、大きなメモリを確保するのに…

HeapCreate

HeapCreateは、新たにヒープを作成するWindowsAPI・・・。HeapCreate 関数今回は、これで新たにヒープを作成し、取得したヒープハンドルでメモリを確保する・・・。HeapCreateで新たにヒープを作成・・・。 第2引数に初期のヒープサイズ、第3引数に最大ヒー…

HeapAlloc

HeapAllocは、取得したヒープハンドルを使ってメモリを確保するWindowsAPI・・・。HeapAlloc 関数今回は、GetProcessHeapで取得したハンドルを使ってメモリを確保して、それを使ってみる・・・。GetProcessHeapでヒープハンドルhHeap取得・・・。HeapAllocに…

GetProcessHeap

GetProcessHeapは、そのプロセスのヒープハンドルを取得するWindowsAPI・・・。GetProcessHeap 関数Win32ではLocalAllocやGlobalAllocは非推奨で、newや、HeapAllocや、VirtualAllocを使ってメモリを確保する・・・。 HeapAllocでプロセスのヒープを使う場合…

GlobalAlloc

GlobalAllocは、グローバルヒープから指定されたバイト数のメモリを確保するWindowsAPI・・・。GlobalAlloc 関数 グローバルヒープ ‐ 通信用語の基礎知識LocalAlloc同様、互換性のために残された古い関数・・・。 ただ、これで取得したハンドルを必要とする…

LocalAlloc

LocalAllocは、ローカルヒープから指定されたバイト数のメモリを確保するWindowsAPI・・・。LocalAlloc 関数ただ、ローカルヒープについては、ローカルヒープ ‐ 通信用語の基礎知識実際にはもうWin32にはローカルヒープ/グローバルヒープという区別は無いの…

KillTimer

KillTimerは、指定されたタイマーを破棄するWindowsAPI・・・。KillTimer 関数これを使って、すでにセットしたタイマーを止める・・・。resource.hで、Timer1を停止するメニュー項目のリソースIDをID_ITEM_TIMER1_STOP、 Timer2を停止するメニュー項目のリソ…

TimerProc

WM_TIMERではなく、SetTimerにコールバック関数をセットして、そこでタイマーイベントの処理を実行することもできる・・・。 コールバック関数TimerProcについては以下を参照のこと・・・。TimerProc 関数2つのタイマーを用意して、カウントするペースを変え…

SetTimer

SetTimerは、タイマーをセットするWindowsAPI・・・。SetTimer 関数第3引数に、タイマーによるイベントが発生する時間をミリ秒で指定すると、その時間ごとにウィンドウメッセージWM_TIMERが発生し、そこで特定の処理をすることができる・・・。 また、第4引…

GetTickCount

GetTickCountは、システムが起動してからの経過時間をミリ秒単位で取得するWindowsAPI・・・。GetTickCount 関数実際の使い方としては、処理前と処理後に呼ぶことでその処理にどれくらいの時間がかかったか計測する時などに使う・・・。前回、Sleepで5秒休止…

Sleep

Sleepは、指定されたミリ秒数、スレッドを休止するWindowsAPI・・・。Sleep 関数5秒間だけ、処理を停止してみる・・・。Sleepを呼ぶ前のローカル時刻情報をst1、Sleepを呼んだ後のローカル時刻情報をst2に格納する・・・。GetLocalTimeでSleep前時刻を取得・…

GetLocalTime

GetLocalTimeは、現在のローカルシステム時刻を取得するWindowsAPI・・・。GetLocalTime 関数この関数にSYSTEMTIME構造体変数のアドレスを渡すと、ローカル時刻情報(日本ならJST)を格納してくれる・・・。GetLocalTimeでローカル時刻をstに格納してもらった…

GetSystemTime

GetSystemTimeは、UTCでの現在のシステム時刻を取得するWindowsAPI・・・。GetSystemTime 関数この関数にSYSTEMTIME構造体変数のアドレスを渡すと、システム時刻情報を格納してくれる・・・。SYSTEMTIME構造体変数stを用意し、GetSystemTimeにstのアドレスを…

FindNextFile

FindNextFileは、FindFirstFileの結果を格納したWIN32_FIND_DATA型変数を元に、条件にあてはまる次のファイルを探すWindowsAPI・・・。FindNextFile 関数今回は、これを使ってtestフォルダの中にあるすべてのファイルを列挙する・・・。testフォルダを作り、…