Windowsアプリケーション プログラミング

Slides:



Advertisements
Similar presentations
わんくま同盟 東京勉強会 #10 オブジェクト指向 #1 Windows メッセージを使いこな す -Windows 流オブジェクト指向 - とっちゃん 高萩 俊行 Microsoft MVP for Windows SDK 2005/ /09.
Advertisements

目次(電子納品 操作手順) ※ページはスライド番号
イベント イベント: マウスの操作、キーボードの操作、ファイル操作など システムやユーザーからの入力・出力のこと
2001年11月更新 2章 Windowプログラムの構成 Windowsプログラムおよび       PiasTkプログラムの基本構造.
【事例演習1】 CGプログラム基礎      解 説        “Windowsプログラムにおける      ダイアログボックスの作成方法”    
多入力パルス波高分析システムの開発 環境計測 小栗 康平  京都府立大学 環境情報学科 環境計測 卒論発表会.
ご使用の前に 使用可能なPC環境 Windows XP SP2 以上
アルゴリズムとデータ構造 第2回 線形リスト(復習).
社会人学習講座 「Javaプログラミング概論」
JXTA Shell (3) P2P特論 (ソフトウェア特論) 第6回 /
TTimer タイマーコンポーネント 一定時間ごとにイベントを起こして処理をおこなう.
情報科学 成蹊大学非常勤講師 竹内 光悦.
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
USB2.0対応PICマイコンによる データ取得システムの開発
Iアプリプログラミング その1  鳥居秀徳.
伺か with なでしこ 発表者:しらたま /05/05 うかべん大阪#3.
Javaのインタフェース についての補足 2006年5月17日 海谷 治彦.
【事例演習2】               2001年11月更新      「最短経路探索 (1)」           その1      解 説    “最短ルート探索のアルゴリズム”
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
プログラミング教室 Tetrisの実装 K.Yonezawa.
「まめだくん Ver.1.0」 特徴と利用方法.
第14回 GUIの構成とイベント・ドリブン ~GUIを使ったプログラム(Ⅰ)~.
スティックライト for USB USB-ROMの開発手順について WindowsがUSBメモリから起動します。 株式会社ロムウィン
Linuxカーネルについて 2014/01.
プログラミング演習3 第2回 GUIの復習.
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
P2P方式によるオンラインゲームの研究、開発
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第10回 プロセス間通信3 担当:青木義満
情報処理概論Ⅰ 2007 第4回 2018/11/30 情報処理概論Ⅰ 第4回.
DirectX 勉強会 第4回.
Leap Motionを用いた実世界指向 アプリランチャの設計と開発
DirectX勉強会 第5回.
EVENT プログラミングのスタイル 手続き型: ある決められた場所から開始され, その後は純粋に上から下に流れて行く方式. 実行したいことを, 順番に記述してゆく. 逐次処理形式コーディングの方法である。 今までの授業(情報処理2や3)で 行ってきたプログラミングの演習 bcc32やmake 手続き型.
マルチスレッド処理 マルチプロセス処理について
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
iioLoadFile()とiioMallocImageBuffer()の補足
iioLoadFile()とiioMallocImageBuffer()の補足
OpenGLを使ったプログラム作成 澤見研究室
<> ■ノートPCナビ画面 1.メイン画面 (1) (3) (2) (4) 【処理】 (1)シャットダウンボタン押下
ソケットプログラム(TCP,UDP) EasyChat開発2
実行時情報に基づく OSカーネルのコンフィグ最小化
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
コンピュータ リテラシー 担当教官  河中.
P2P方式と構成の一般化 負荷の分散、ゲームセッションのデザイン.
スイッチを入れる前に… 講習を受けていない人は、まだスイッチを入れないこと。 まず講習を受けてセットアップを行ってください 注意.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
プログラミング言語論 第四回 理工学部 情報システム工学科 新田直也.
プログラミングⅠ 平成30年10月15日 森田 彦.
ネットワークプログラミング 05A1302 円田 優輝.
PIC実習 ~PICを用いた電子工作~.
電機情報工学専門実験 6. 強化学習シミュレーション
ENUM を応用した 三者間の通信法 著者 1G00P066-9 杉田 隆俊 担当者 1G01P111-1 横澤 一岐
NFC Dynamic Tag “ST25DV“のご紹介
GUIプログラミングの基本=イベント イベントとは イベントの例 ウィンドウやウィンドウ内のパーツ(ボタン・スクロールバーなど)に発生する
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
情報処理概論Ⅰ 2007 第6回 2019/5/16 情報処理概論Ⅰ 第6回.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
WindowsグラフィックスとDirectX
第2回 開発環境とゲーム 05A1030 佐々木 和也.
ソフトウェア工学 知能情報学部 新田直也.
プログラミング実習(Java) グラフィクス処理とGUIプログラミング 講師:坂口 利裕(横浜市立大学)
Javaとは Javaとはオブジェクト指向言語でJava VM(Java仮想マシン)と呼ばれるプログラム上で動作します。
2次元のオブジェクト ◆ 種類 2次元のグラフィックス ポイント(点) ライン(線分,折れ線) エリア(多角形など) 文字列(テキスト)
TCP/IPの通信手順 (tcpdump)
Presentation transcript:

Windowsアプリケーション プログラミング Windowsアプリケーション  プログラミング 生命・情報等教育研究支援室 (電子・情報工学系) 中山 勝

プロセッサの設計と開発の実験装置群

実験装置全体の構成

Windowsアプリケーションの 基本構成

アプリケーションの動作の流れ メッセージ処理関数 アプリケーションの WinMain関数 WindowsOS ユーザーの操作 マウスやキーボードのイベント メッセージ

WinMain関数 Int APIENTRY WinMain( HINSTANCE hInstance, //プログラムの実体のハンドル HINSTANCE hPrevInstance, //Win32では常にNULL LPSTR lpCmdLine, //コマンドラインのポインタ int nCmdShow) //起動時のウインドウの状態 { 必要な全ての初期化作業及びメインウインドウの作成 送られてきたメッセージを取り出し、処理関数に渡す 終了処理 }

WinMain関数内の処理 初期化 ウインドウクラスの登録 メインウインドウの作成 メインウインドウの表示 メッセージの取得 終了メッセージか? 終了処理 YES NO WNDCLASS構造体に値をセットしRegisterClass関数で登録 CreateWindow関数で作成 ShowWindow関数で表示 メッセージ処理関数 に渡す メッセージ処理ループ

アプリケーションの動作の流れ メッセージ処理関数 アプリケーションの WinMain関数 WindowsOS ユーザーの操作 マウスやキーボードのイベント メッセージ

代表的なメッセージ WM_CREATE(ウィンドウが作られるときに発生) WM_COMMAND(メニューが選択されたり、ボタンが押されたりしたときに発生) WM_SIZE(ウィンドウのサイズが変更されたときに発生) WM_CLOSE(閉じるボタンが押されたときに発生 ) WM_DESTROY(ウィンドウが破棄されたときに発生 ) WM_PAINT(ウィンドウ内の表示データに、再描画の必要があるときに発生)

メッセージ処理関数 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ switch(message){     ・  case WM_DESTROY: PostQuitMessage(0);/*終了メッセージの発行*/ break; default: return(DefWindowProc(hWnd,message,wParam,lParam)); } return(0L); }

アプリケーションの処理 (実機でのデモンストレーション)

アプリケーションの開発 (シリアル通信関連)

シリアルポートの監視(1) WinMain関数 WindowsOS メッセージ処理 ユーザーの操作 Run又はStopボタン タイマーの処理 メッセージ処理関数 タイマーの処理 シリアルポート Run又はStopボタン の処理 イベント メッセージ タイマーセット タイマー破棄 1秒毎に監視 Stopコマンド

シリアルポートの監視(2) WinMain関数 WindowsOS メッセージ処理 ユーザーの操作 Run又はStopボタン メッセージ処理関数 シリアルポート監視スレッド シリアルポート Run又はStopボタン の処理 イベント メッセージ 連続監視 Stopコマンド スレッドの起動

シリアルポートの送受信 START オーバーラップでのポートのオープン ポートのオープン スレッド起動 Stop応答 受信待ち 構造体を定義 ポートのオープン スレッド起動 Stop応答 受信待ち オーバーラップ構造体の イベント待ち Run/Stop? その他の処理 スレッド起動 Stop応答 受信待ち No Yes Run or Stop Stop Run Stopコマンド発行 Runコマンド発行 ボタン表示切替 ボタン表示切替 Stop処理 ポート監視スレッド起動 スレッド終了

むすび   今回発表のアプリケーションは、C言語とAPI(Application Programming Interface)関数で記述されている。   VC++には、アプリケーション開発のためMFC(Microsoft Foundation Class)というクラスライブラリが提供されている。これについては、また次の機会に。