タグ

win32apiに関するsiroccoのブックマーク (26)

  • 目的別 Win32API のサンプル集 - プログラミングのメモ帳(C/C++/HSP)

    日々のプログラミングで気づいた点や小技集を紹介します。(Windows 10/XP/Vista、VC2017、HSP) ここには、このブログ記事のサンプル集が188個あります。 ウインドウ雛形 ウインドウの作成 ウインドウの雛形 ダイアログアプリの雛形 ダイアログアプリ1(ダイアログのみ) ダイアログアプリ2(ウインドウのみ) ダイアログアプリ3(ウインドウ+ダイアログ) ウインドウ関連 ウインドウの表示/非表示 ウインドウの有効化/無効化 ウインドウの最大化/最小化/元に戻す(1) ウインドウの最大化/最小化/元に戻す(2) ウインドウの最大化/最小化の状態 ウインドウの最前面表示の設定/解除 ウインドウ・スタイルの動的変更 画面中央にウインドウを移動 画面隅にウインドウを移動 画面端にウインドウを移動 画面9箇所にウインドウを移動 指定ウインドウの状態 指定ウインドウの検索 指定の子ウ

    目的別 Win32API のサンプル集 - プログラミングのメモ帳(C/C++/HSP)
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    sirocco
    sirocco 2013/06/02
    Delphi から使うWIN32APIの説明だけどとっても分かりやすい。ここから使いたいAPIを探して、それからCのマニュアルを調べれば良い。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    sirocco
    sirocco 2013/06/02
    第1引数にウィンドウクラス名かクラスアトム、第2引数にウィンドウのタイトル(キャプション)を指定
  • 方法: Windows Phone Marketplace 用のスクリーンショットを作成する

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

    方法: Windows Phone Marketplace 用のスクリーンショットを作成する
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    sirocco
    sirocco 2013/06/01
    Win32API Input Method Editor(IME)概要
  • 第278章

    自分で作ったプログラム上からIMEの操作ができると大変便利です。 今回は、IMEのON, OFFとプロパティダイアログと単語登録ダイアログを 出すプログラムを作ってみます。 まず、例によって前準備が必要です。 1.ソースにimm.hをインクルードする 2.プロジェクトにimm32.libを参加させる imm何とかという関数が多いですがこれは Imput Method Manager の略です。 IMEのON, OFFにはImmSetOpenStatus関数を使います。 BOOL ImmSetOpenStatus( HIMC hIMC, BOOL fOpen ); hIMCは、入力コンテキストハンドルです。 fOpenは、オープン状態を示します。TRUEで開き、FALSEで閉じます。 関数が成功したら0以外の数を返し、失敗すると0を返します。 では、hIMCを取得するにはどうしたらよいのでし

    sirocco
    sirocco 2013/06/01
    これをMinGwでコンパイルして、理解したらHaskellから呼びたい。
  • IMEを制御する方法

    戻る DOSでは、FEP(Front End Processer) と呼ばれていた「かな漢字変換機能」は、 Windowsでは IME(Input Method Editor)という名称となり、システムの一部として 提供され、制御するためのAPIも提供されるようになりました。 漢字(2バイト文字)を入力するときには、その度にIMEを起動するためのキーを入力 する必要があります。たとえば、IMEで入力する可能性が高いエディットボックスなどの 入力域では、キーを入力しなくても漢字が入力することができればキー操作がスムーズ にできるでしょう。 Windows95と共に、IMEも全面的に修正されました。とは言え、以前のメッセージ ベースのAPI も利用することができますし、キーボードからの操作は今までと同様に 可能です。新しくなった32ビットIMM API を利用することにより、処理が単純化 され

    sirocco
    sirocco 2013/06/01
    「IMEを制御する方法」。面倒くさそう。
  • Win32APIの印刷プログラムの躓き

    Win32APIの印刷プログラムの躓き 概要 Win32APIを使った印刷プログラムでキャノン製の数種類のプリンタだけで印刷できないことがありました。 エラーが出ることもなく、正常に印刷できたように振る舞うのですが何も出力されません。 Win32APIを使っての印刷は大まか次の手順です。 CreateDC() か PrintDlg()でデバイスコンテキストを作成 StartDoc() で文書の開始 StartPage() でページの開始 EndPage() でページの終わり EndDoc() で文書の終わり DeleteDC() でデバイスコンテキストを解放 躓いた原因は StartDOC() にありました。 プログラム 原因調査のためのプログラムをC++Builderで作成しました。 フォームにボタンとチェックボックスを配置し、ボタンをクリックするとフォームをPaintTo()で印刷しま

  • Win32サブルーチンズ

    書は、出版当初大変なご好評をいただき、専門性の高い内容にかかわらず予想外の売り上げを記録いたしましたが、時代は流れ、今となっては周知の技術も多く含まれております。 しかし、今もってサンク関連など、Microsoft社の公式文書でなければ見られない内容もあり、Win32関連の掲示板を覗くと書を参考にしていただければ、解決できるような内容を見ることがあります。 そこで、絶版となりました拙著の内容をご活用いただくため、ページで公開するに至りました。 ページは、拙著の内容を超えた技術サポートをお受けすることを 意図するものではありません。 技術情報の詳細な確認および質問等は、マイクロソフトの 正規サポートをご利用ください。 書籍の内容を超えるご質問等については一切お答えできませんので、 あらかじめご了承ください。

  • Esa Ilari Vuokko氏製のDirectXバインディングを使ってみる - imHo

    今は公開されてないみたいだけど、以前Esa Ilari Vuokkoという方がHaskellのDirectXバインディングを公開していた、とshelarcyさんに教えていただいた。 ソースをちょろっとみたところ、すごくちゃんと作ってある。つーかむちゃくちゃ気合入ってて、なぜかC言語のパーサ(FFI解析用?)やHLSLのシェーダのパーサまで入ってたりする。 ビルドできるか試してみる。 準備 このライブラリはMinGW/MSYS用だということで、READMEに書いてあるとおりDirectXのライブラリをMinGW用に変換する: cd $DXSDK mkdir Mingw cd Mingw cp ../Lib/x86/*.lib . rm DxErr*.lib ls | xargs -n 1 reimp reimpというコマンドがライブラリ変換のツールで、実行ファイルはmingw-utilsに含

    Esa Ilari Vuokko氏製のDirectXバインディングを使ってみる - imHo
  • 時間のかかる処理で「処理中」を表現する(前編)

    Vistaになって顕著に表れるようになった「(応答なし)」。Windows 7で若干減ったものの、見かける状況に変わりはありません。連載では、C++とWin32 APIを利用して「(応答なし)」を表示せずに長い時間作業を行うための方法を、2回に分けて紹介していきます。 はじめに この数年で2000/XPだった環境が一気にVista/Windows7に変わり、マシン(処理)が速くなったと喜ぶ声を聴きます。しかし、処理速度が上がったにもかかわらず、今までよりも頻繁にキャプションに「(応答なし)」と表示されてしまっているのではないでしょうか。 稿では、この「(応答なし)」がなぜ出てしまうのか、どうしたら意図しない「(応答なし)」を表示させずに済ませることができるのかを、C++とWin32の最新テクノロジを用いてチップス的に紹介したいと思います。 対象読者 C++Windowsアプリケーショ

    時間のかかる処理で「処理中」を表現する(前編)
  • __stdcallと__cdecl

    __stdcallは、WIN32 APIの呼び出し規約で、スタックの解放を呼ばれた側が行い(したがって、varargは使用不可)、__cdeclは、スタックの解放を呼ぶ側が行う(したがって、varargを使用可能)。 テストコード #include <stdio.h> int __stdcall scall(int a, int b) { printf("a=%d,b=%d\n", a, b); return a * b; } int __cdecl ccall(int a, int b) { printf("a=%d,b=%d\n", a, b); return a * b; } int main(int argc, char* argv[]) { scall(1, 2); ccall(1, 2); return 0; } アセンブラリスト __stdcall ?scall@@YGHHH

  • WinMain関数 - インコのWindowsSDK

    Visual C++ 2013 Win32アプリケーション作成 を参考に、プロジェクトを作成して下さい。 流れ 1.windows.hをインクルード Win32アプリケーションでは、windows.hは必須です。 2.WinMain() コンソールアプリケーションでは、main関数が必須でしたが、Win32アプリケーションでは、WinMain()が 必須です。WinMain()からプログラムが開始されます。 int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow );

  • Codian - すべてはWinMain()から

    更新日: 2008/01/08 動作確認環境:Windows XP Professional SP2, Visual C++ 6.0 Professional SP6 サンプルプロジェクト(Visual C++ 6.0用): MxA02_VC6.zip ////////////////////////////////// // グローバル変数。 const char *const APP_NAME = "MxA02_VC6";       // アプリケーションの名前です。 const char *const CLASS_NAME = "MxA02WndClass";    // ウィンドウクラス名です。 HINSTANCE g_hInstance; // このアプリケーションのインスタンスハンドルです。 //////////////////////////////////////////

  • 関数を呼び出すということ - Web/DB プログラミング徹底解説

    前の資料では、WINAPI というのは __stdcall の別名であり、これは呼び出し規約であると説明しました。 そして 「呼び出し規約」 を理解するためには 「関数を呼び出す」ということがどのようなものか理解すると良いです。 尚、ここでは x86 アーキテクチャを想定しています。 結局、関数を呼び出すってどういうこと? あるプログラム A から、あるプログラム B を呼び出す時に x86 ではスタックというメモリ領域を使用します。 ここでは、A は Windows の Win32 サブシステム、B はここで作った自前のプログラムとします。 A から B の WinMain を呼び出すときのことを考えます。 この時に、A はスタックにパラメータを積み上げます。 B を実行するときに、必要に応じてスタックに積み上げられたパラメータを参照します。 B の処理が終わったら、制御は A へと戻り

    関数を呼び出すということ - Web/DB プログラミング徹底解説
  • Hello, world の解説 ~ WINAPI とは何か? __stdcall の説明

    おや? WINAPI ってなんだ? 今回は前節に続いて、以下の単純なソースコードを詳しく見てみましょう。 今回は WINAPI というキーワードを取り上げます。 よ~く、以下のコードを見てください。 WinMain という関数名の前に、WINAPI というキーワードが書いてありますね? #include <windows.h> int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MessageBox( NULL, TEXT("Hello, world!"), TEXT("Hello"), MB_OK | MB_ICONINFORMATION ); return 0; } C 言語の単純なコードを書いていて、通常この位置には何も書かないですよね

    Hello, world の解説 ~ WINAPI とは何か? __stdcall の説明
  • ttsshのエンジニアリング漫遊記 IT奮斗編 Haskell

    前回の続きで、今度はCreateDIBSectionをHaskellで呼び出してみるプログラムを書いてみました。Haskell側からデータを渡すことがない(BITMAPINFO以外は)せいか、すんなり動かすことができました。 ので、あまった勢いでちょっとフレームワークっぽい感じのコードにしてみました。 VideoMemory.hs {-# LANGUAGE ForeignFunctionInterface #-} module VideoMemory(VideoMemory, withVideoMemory, display, getMemory) where import Graphics.Win32 import System.Win32.Mem import System.Win32.Types import Data.Word(Word8) import Foreign.C.Typ

  • ttsshのエンジニアリング漫遊記 IT奮斗編 HaskellとSetDIBitsToDevice

    Haskellを使いこなせるようになりたくて、Windowsと密着したプログラミングをしてみました。ためしに、SetDIBitsTODevice関数を使って、BMPファイルを表示するプログラムを書いてみました。 ところが問題発生。最初、以下のようなコードを書き、 (SimpleViewer.hs) {-# LANGUAGE ForeignFunctionInterface #-} module SimpleViewer (display) where import qualified Data.ByteString as BS import Graphics.Win32 import System.Win32.DLL(getModuleHandle) import System.Win32.Types import Foreign.C.Types(CInt, CUInt, CChar) i

  • https://dhelta.net/hprojects/Clipboard/apiref/

    sirocco
    sirocco 2012/01/15
    これを使えばクリップボードへ文字列を書き込んだり、クリップボードから文字列を取得したり出来る(Windows限定)。
  • 取り急ぎブログです

    少し前に巷ではやったSTのことを勉強してみました。原典のLazy Functional State Threadsをかじってみました。 僕はStateモナドはなんとなく自分でかけるくらいまで理解していたのですが、STは使ったこともないし、いったい何物なんだかぜんぜん知りませんでした。 Stateモナドは要するに関数なわけで State s a = State \s -> (a, s) ということはStateモナド系のKleisli関数がバインドされる図は乱暴な見方をすればこうゆう絵柄になるわけです。 runState (\s -> (a, s') >>= \a s -> (b, s') >>= \b s -> (c, s')) 何をスケッチしてるんだかよくわからなくなっちゃうんですがここではそれぞれのKleisli関数をそのシグネチャだけで書いています。それぞれのKleisli関数は(Kl

    取り急ぎブログです