タグ

winapiに関するkiyo_hikoのブックマーク (14)

  • システムトレード(非)入門 GetTickCount() の落とし穴

    ExcelSQL、MT4、TradeStation、プログラミング、経済学、統計学、金融工学少々、お好みでフラクタル、遺伝的アルゴリズムなど。そして持ち得る限りの忍耐力とファイティングスピリット。 日は「落穂拾い」にふさわしい小ネタを一席。 GetTickCount() は、システム起動時から現在時までの経過時間を tick(1/1000秒)単位の分解能で教えてくれる関数です。 ちなみに「システム起動時」というのは「OS起動時」の意味で「MetaTrader起動時」ではありません。 つまりMTを再起動したからといってGetTickCount()が0から再度カウントされるわけではなく、GetTickCount()もリセットしたいのであれば、OS自体を再起動しなければいけません。 この GetTickCount という関数名、全く同じものがWindows APIにもあって、ソチラ方面に多少

    kiyo_hiko
    kiyo_hiko 2013/05/11
    オーバーフローしてマイナスになることがあり、再起動しようという
  • サービス終了のお知らせ

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

    kiyo_hiko
    kiyo_hiko 2012/09/24
    WNDCLASSEX構造体の定義とイベントループを省くとこうなる、という解説
  • Desktop App Development Documentation - Windows app development

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

    Desktop App Development Documentation - Windows app development
  • Paken.NET | TCHAR型のススメ

    C/C++Windowsプログラミングをやり始めたとき、誰もが一度は嫌になるあの謎のデータ型。 "LPCTSTR"なんてのはその典型例です。 しかし、これが何かを知らぬまま放っておいてる、ということが意外とありがちなんですよね。 というわけで、一応簡単に解説しておくことにしよう、と思ったまでです。 ※ 開発環境は、Microsoft Visual C++ 2005 を想定しています。 1.UNICODE 文字コードとはつまり、数値と文字の関係を示したものです。 文字'a'は128で表し、文字'b'は129で表し・・・と文字と数値が一対一で対応して定められています。(数値は適当です) UNICODEも、その文字コードの一種で、古い文字コードのASCIIに比べて新しいものです。 NT系のWindowsには全て対応しているので、現在のほとんどの環境がUNICODE対応となっています。 だったら

    kiyo_hiko
    kiyo_hiko 2012/09/24
    わかりやすい。LPSTRがchar*、LPWSTRがWCHAR*、LPTSTRがTCHAR*で、constはLPCなになにとの話 / 「WinMainの頭に_tをつけてあげます。なお、tchar.hをインクルードします」 Cの標準ライブラリ関数は「わからなくなったら、tchar.h内を検索」
  • 他のアプリケーションの起動(API,OLE,DDE)

    パソコン活用研究5番街(Visual Basic、Excel(VBA)、BASIC プログラミング研究) 他のアプリケーションの起動(API関数,OLE,DDE) 前回は、Shell関数による他のアプリケーションの起動について、触れました。 今回は、他の方法でアプローチしてみます。方法としては、API関数(ShellExecute)の利用、 OLEオートメーション(CreateObject関数)の利用、DDEの利用の3パターンがあります。 1 API関数(ShellExecute) 他のアプリケーションの起動という意味では、API関数 ShellExecute を利用するのが一番簡潔 かつ強力かもしれません。 API関数というのは、Windowsに用意されたシステムコールといったらよいでしょうか。API関数の コールによりWindowsの提供する様々な機能を直接利用することが

  • サービス終了のお知らせ

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

    kiyo_hiko
    kiyo_hiko 2012/02/27
    S_OK、E_FAIL、SUCCEEDED、FAILED
  • 無効リージョン

    描画構造体とクライアントエリアの更新 さて、前回のプログラムではクライアントエリアが隠れると クライアントエリアに描かれている内容が消されてしまうという問題点がありました 今回は、その仕組みと解決策について説明します クライアントエリアが隠された場合、クライアントエリアの情報は消されてしまいます その後、再びクライアントエリアが表示されると、その領域は空の状態です この状態を無効リージョン、または更新リージョンと呼びます 無効リージョンがウィンドウにある場合、Windows は WM_PAINTメッセージを発行します このメッセージは、無効リージョンが存在する限り、常にメッセージキューにポストされます WM_PAINT は、wPalam にデバイスコンテキストのハンドルを持ちますが、一般に無視します 戻り値は 0 を返します 次に、アプリケーションは無効リージョンを有効な状態にしなければい

    kiyo_hiko
    kiyo_hiko 2012/02/01
    PAINTSTRUCT構造体の働きがデバイスコンテキストなどと比べてどうもピンと来なかったが、再描画判定などに使うということだろうか / EndPaintでDCを解放するがpsは自動変数なので、ループごとに勝手に回収されるでいいのかな
  • WPARAM ‐ 通信用語の基礎知識

    Microsoft Visual C++ 2008環境では、次のように定義される。 (WinDef.h) typedef UINT_PTR WPARAM (BaseTsd.h) typedef [public] unsigned __int3264 UINT_PTR; 従って、Win32プラットフォームではunsigned __int32、Win64プラットフォームではunsigned __int64として定義される。 Win16環境では16ビット長、Win32環境では32ビット長、Win64環境では64ビット長である。 Win16環境では、WPARAMはUINTだったが、これは16ビット長であるのでWORDと同じ長さである。WPARAMの「W」は、WORD長から来ているものと思われる。 Win32以降では、これは単なる整数格納用変数ではなく、API関数によっては、ハンドル(つまりポインタ

    kiyo_hiko
    kiyo_hiko 2012/01/29
    この"W"というのは16bit時代のUINT(=WORD)の名残。「Win16環境では16ビットだったが、Win32以降ではアドレスバス長と同じだけの長さが期待される」そしてもはやLPARAMと一緒で、"W"接頭辞は歴史の遺物以上に何の意味もないらしい
  • VB.NET/VB6.0/CLR/C/C++/Win32API 型一覧表 - 山崎はるかのメモ

    型名 ビット幅 バイト長 VB.NET VB6.0 CLR仕様 末尾文字 変換関数 C/C++/Win32型 値範囲 (最小値~最大値)

    kiyo_hiko
    kiyo_hiko 2012/01/29
    ATOMとかDWORDって何と思ってたら、ATOMは短整数、DWORDは符号なし整数だった
  • 僕はDirectX初心者なのですが。DirectXのプログラムで、LRESULTCALLBACKWndProc(HWNDh... - Yahoo!知恵袋

    UINT ---> (32ビットWindows時は、)符号なし 32 ビット整数型。 WPARAM ---> 「メッセージの追加情報」に対する型 LPARAM ---> 「メッセージの追加情報」に対する型 HWND ---> ウィンドウハンドル LRESULT ---> ウィンドウプロシージャの返却値の型 [WndProc()関数の説明] Windowsは、「マウスがクリックされた」とか「キーが押下された」というイベントによって、そのイベントに対応したプログラムが動作することは、よく知られていると思います。 このイベントによる処理は、実際のプログラム中では、メッセージと呼ばれるもので処理されます。 質問者さんのコードと、書き方が多少違うかも知れませんが、 // メイン メッセージ ループ: while (GetMessage(&msg, NULL, 0, 0)) { if (!Transl

    僕はDirectX初心者なのですが。DirectXのプログラムで、LRESULTCALLBACKWndProc(HWNDh... - Yahoo!知恵袋
  • Amazon.co.jp: プログラミング WINDOWS7 (MSDNプログラミングシリーズ): エディフィストラーニング株式会社矢嶋聡: 本

  • Amazon.co.jp: Win32/64 APIシステムプログラミング: 32/64ビットの共存: 北山洋幸: 本

    kiyo_hiko
    kiyo_hiko 2012/01/16
    本屋で流し読みして好感触であった。かなり昔にC++の基本やったあといきなり「LRESULT CALLBACK WndProc...WM_PAINT...WM_DESTROY...」とかのコード見てハァ?なんだこれとなって挫折した(netも未契約だた)がその辺ガチで解説してる予感
  • API別 Win32 サンプル集

    AllocConsole コンソールの割り当て AngleArc 円弧の描画 Arc 楕円の描画 ArcTo 楕円形の円弧の描画 AssignProcessToJobObject ジョブオブジェクトにプロセスを追加 BackupEventLog イベントログのバックアップ BeginPath パスの作成の開始 BitBlt グラフィックデバイス間のイメージの転送 BlockInput マウスやキーボード入力のブロック CancelWaitableTimer 待機可能タイマの無効化 ChangeClipboardChain クリップボードビューアの削除 Chord 弓形の図形の描画 ChrCmpI 文字の比較 ClearEventLog イベントログのクリア CloseClipboard クリップボードのクローズ CloseDesktop オープンされているデスクトップハンドルのクローズ C

  • UWSC サンプルメモ def_dll

    UWSCとは、マウスやキーボードの自動化ソフトです。 何が出来るのかというと... マウスとキーボード入力を記録して再生する事ができます。 (スクリプト形式ですので自由に編集する事ができます) 強力なスクリプト言語によりアプリの操作ができます。 (COMオブジェクト、DLLの利用も可能です) スケジュール機能により指定時間や指定ウィンドウが現れた時などの指定ができます。 スクリプトというと何だか難しく思えて中々手が出せない所ですが、これが意外と簡単に出来ちゃうんです! 最初はプログラムなんてやった事が無く手が出せませんでしたが、一度動かしてみるとこれが動いちゃうんです! まずはソフトをダウンロードしてみて下さい! UWSC Free版とUWSC Pro(有料)とがあります。 有料版には試用期間があり期間内は制限無く機能を使えるので、まずFree版を使ってある程度把握出来てから試用版を試すと

    kiyo_hiko
    kiyo_hiko 2011/12/24
    UWSCではWin32APIを直接叩くことができるが、そのためにはDEF_DLL文でAPIを読み込む / シンタックスは「DEF_DLL 関数名(引数の型のリスト) :返り値の型 :DLL名」
  • 1