■目次
Visual Studio のインストールC#でウインドウズアプリケーションガジェット作成Cでコマンドラインアプリケーション
■Visual Studio のインストール
連載:簡単! Visual Studio 2015入門 第1回 Visual Studio 2015って何ができるの? http://www.atmarkit.co.jp/ait/articles/1508/07/news031.html ※Unityを使う際に Visual Studio 2015 をインストール済みだった 日本語化は行っていなかったので Visual Studio 2015 Language Pack をインストール ※2016/06/30に Visual Studio 2017 で新規に開発環境を作成 https://www.visualstudio.com/ja/downloads/ からVisual Studio Communityをダウンロードした ダウンロードした vs_community__476664055.1498735138.exe を実行してインストール インストールの際、「.NETデスクトップ開発」を選択した 初起動時は使えるようになるまでとても時間がかかった …と思ったが、サインインのウインドウが後ろ側に表示されていることに気付かなかっただけだった C:\Users\Yamano\Documents\Visual Studio 2017\Projects\WindowsFormsApp1 にプロジェクトが、 C:\Users\Yamano\Documents\Visual Studio 2017\Projects\WindowsFormsApp1\WindowsFormsApp1\bin\Debug に実行ファイルが作成された インストール後は http://qiita.com/cafeaulait/items/4f1387796590c633f346 が参考になりそう
■C#でウインドウズアプリケーション
解説通りにC#でウインドウズアプリケーションを作成すると、 C:\Users\refirio\Documents\Visual Studio 2015\Projects\WindowsFormsApplication1\ にプロジェクトが、 C:\Users\refirio\Documents\Visual Studio 2015\Projects\WindowsFormsApplication1\WindowsFormsApplication1\bin\Debug\WindowsFormsApplication1.exe に実行ファイルが作成された
■ガジェット作成
ツールボックスからWebBrowserを配置し、Form1_Load()内で以下を実行する webBrowser1.Navigate("http://refirio.org/"); NotifyIconを配置し、アイコンを設定する クリック時のイベントを設定する 【C# WebBrowser】ブラウザを作成する | ITLAB51.COM http://www.itlab51.com/?p=3747 タスクトレイにアイコンを表示する: .NET Tips: C#, VB.NET https://dobon.net/vb/dotnet/control/showtasktrayicon.html イベントを捕捉する: .NET Tips: C#, VB.NET https://dobon.net/vb/dotnet/beginner/eventhandle.html 最小化されたフォームを元(通常か最大化状態)に戻す: .NET Tips: C#, VB.NET http://dobon.net/vb/dotnet/form/restoreminform.html C# - フォームを常に最前面に表示する http://jeanne.wankuma.com/tips/csharp/form/topmost.html C# - フォームをタスクバーに表示しない http://jeanne.wankuma.com/tips/csharp/form/showintaskbar.html ■タスクバーに表示しない 以下のように指定すると表示されないはずだが、環境によってはおかしなフォームが表示される? 気付いていないだけど、Surfaceでも表示されていた?
this.ShowInTaskbar = false;
以下のようにすればガジェット風になるので、タスクトレイを考えずにこの形式にすればいいかも
this.MinimizeBox = false; this.MaximizeBox = false; this.ShowInTaskbar = false;
■ウインドウ位置を保存 「ソリューションエクスプローラー」でプロジェクト名を右クリックして「プロパティ」を選択 「設定」を選択し、一例だが以下のように設定 名前: WindowLocation 種類: System.Drawing.Point スコープ: ユーザー 値: 200, 100 デザインで対象フォームを選択し、プロパティウインドウで「イベント」を選択 「FormClosing」をダブルクリックするとコードが挿入される もとからあるウインドウ読み込み処理とあわせて、以下のようにプログラムを記述する
private void Form1_Load(object sender, EventArgs e) { // ウィンドウ位置を復元する this.Location = Properties.Settings.Default.WindowLocation; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { // ウィンドウ位置を保存する Properties.Settings.Default.WindowLocation = this.Location; Properties.Settings.Default.Save(); }
C#: ウィンドウの位置・サイズ・最大化状態を保存する http://qiita.com/nicklegr/items/faefb804697a395b148d 【ワレコのC#】Formアプリ 前回終了時 ウインドウ位置・サイズを記憶復元 https://www.wareko.jp/blog/c-sharp-form-application-save-restore-window-state-position-size C#メモ ×ボタンがクリックされたことを検知してみる http://www.tetsuyanbo.net/tetsuyanblog/23478 ■スタートアップ 以下にショートカットを作成しておく C:\Users\(ユーザ名)\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup Tech TIPS:Windows 10で「スタートアップ」にプログラムを登録する http://www.atmarkit.co.jp/ait/articles/1701/18/news029.html 「Windows 10」のスタートアップの場所及びアプリを設定する手順について https://www.japan-secure.com/entry/how_to_set_the_start-up_of_windows_10.html ■デバッグ 以下のようにすればデバッグメッセージを表示できる
System.Diagnostics.Trace.WriteLine("メッセージ");
■Cでコマンドラインアプリケーション
インストーラの vs_community_JPN.exe を実行し、「Modify」を選択し、「Visual C++」にチェックを入れて追加インストールする 「ファイル → 新規作成 → プロジェクト → Visual C++ → Win32 Console Application」
#include <stdio.h> int main() { printf("Hello, world!\n"); return 0; }
■エラー対策 「デバッグ → デバッグなしで開始」で実行できるが、stdafx.h が無いと言われてしまう 「プロジェクト → ◯◯のプロパティ → C/C++ → Precompiled Headers」で「Precompiled Headers」を「Not Using Precompiled Headers」にする sscanfなどを使おうとすると危険だと言われる ソースコードの最初に以下の記述を追加すれば無視できる
#define _CRT_SECURE_NO_WARNINGS 1