前回に引き続き、Windows8 ストアーアプリで、ドライブの空き容量を一覧で表示するアプリ
を作ろうとしているのだけれど、問題は全然解決していません。
デバイスの一覧を表示するプログラムのサンプルが有ったので
これを基に、ハードディスクドライブ(HDD) の一覧を表示させることはできたのですが
これだと、あくまで、ハードとしての HDD の一覧なので、
必要としている、ドライブの空き容量の情報を得られませんでした。
とりあえず、今回作った、HDDの一覧を表示するプログラムを載せておきます。
ボタンをクリックすると、HDDの一覧が表示されます。
Disk drive information Windows8 Store App C#
MainPage.xaml
====================================
<Page
x:Class="Disk_drive_information.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Disk_drive_information"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid x:Name="ContentRoot" Background="Black" Margin="100,20,100,20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!-- Header -->
<StackPanel x:Name="Header" Grid.Row="0">
<StackPanel Orientation="Horizontal"/>
</StackPanel>
<!-- Content -->
<ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Grid.Row="1" ZoomMode="Disabled">
<StackPanel x:Name="ContentPanel">
<Button x:Name="EnumerateInterfacesButton" Content="Enumerate" Margin="50,20,10,0" Click="EnumerateDeviceInterfaces" RenderTransformOrigin="0.821,0.921" HorizontalAlignment="Left" />
<TextBlock Text="Output" Margin="0,25,0,20" />
<StackPanel x:Name="Output" HorizontalAlignment="Left">
<TextBlock x:Name="OutputText" />
<!-- Device Interfaces-->
<ListBox x:Name="DeviceInterfacesOutputList" IsEnabled="False" BorderThickness="0" />
</StackPanel>
</StackPanel>
</ScrollViewer>
</Grid>
</Page>
====================================
MainPage.xaml.cs
====================================
using System;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Xaml.Media.Imaging;
using Windows.Devices.Enumeration;
// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234238 を参照してください
namespace Disk_drive_information
{
/// <summary>
/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
/// <summary>
/// このページがフレームに表示されるときに呼び出されます。
/// </summary>
/// <param name="e">このページにどのように到達したかを説明するイベント データ。Parameter
/// プロパティは、通常、ページを構成するために使用します。</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
async void EnumerateDeviceInterfaces(object sender, RoutedEventArgs eventArgs)
{
EnumerateInterfacesButton.IsEnabled = false;
DeviceInterfacesOutputList.Items.Clear();
try
{
var selector = "System.Devices.InterfaceClassGuid:=
{53f56307-b6bf-11d0-94f2-00a0c91efb8b}"
+ " AND
System.Devices.InterfaceEnabled:=System.StructuredQueryType.Boolean#True";
var interfaces = await DeviceInformation.FindAllAsync(selector, null);
OutputText.Text = interfaces.Count + " device interface(s) found\n\n";
foreach (DeviceInformation deviceInterface in interfaces)
{
DisplayDeviceInterface(deviceInterface);
}
}
catch (ArgumentException)
{
OutputText.Text = "Not";
}
EnumerateInterfacesButton.IsEnabled = true;
}
async void DisplayDeviceInterface(DeviceInformation deviceInterface)
{
var id = "Id: " + deviceInterface.Id;
var name = "name: "+ deviceInterface.Name;
var isEnabled = "IsEnabled: " + deviceInterface.IsEnabled;
var item = id + "\n" + name + "\n" + isEnabled + "\n" ;
DeviceInterfacesOutputList.Items.Add(item);
}
}
}
====================================
2012年11月30日金曜日
2012年11月29日木曜日
Win8 ストアアプリのプログラミングでDriveInfo が使えない
Windows8 ストアーアプリで、ドライブの空き容量を一覧で表示するアプリ
(感じ的には explorer で、コンピュータ を一覧表示させた、写真のような感じ)
を作ろうと思ったのですが、なかなかうまくいきません。
Desktop アプリなら DriveInfo で、簡単に取れる、ドライブの空き容量などの情報が
Windows8 ストアーアプリでは、取得できません。
というか、 DriveInfo クラス自体がないみたいです。
ネットで調べているのですが、なかなか上手い情報が見つかりません。
ドライブの空き領域を取得する方法なんて、すぐ見つかりそうなものなのに・・・。
とりあえず、Desktop アプリ で、ドライブ情報を取得するプログラムを載せておきます。
フォーム上の、ボタンをクリックすとドライブ情報が表示されます。
Windows8 Desktop C#
Form に Button と Label を配置
Form1.cs
====================================
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Disk_Drive_Info
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
label1.Text = "";
foreach (DriveInfo Dd in allDrives)
{
label1.Text += "Drive " + Dd.Name;
if (Dd.IsReady == true)
{
long FreeP = Dd.TotalFreeSpace * 100 / Dd.TotalSize;
label1.Text += " : " + FreeP.ToString() + "% Free ";
label1.Text += Dd.TotalFreeSpace / 1000000000 + "GB / ";
label1.Text += Dd.TotalSize / 1000000000 + "GB " + "\n\r";
// label1.Text += " Volume label: " + Dd.VolumeLabel + "\n\r";
// label1.Text += " File system: " + Dd.DriveFormat + "\n\r";
// label1.Text += " DriveType: " + Dd.DriveType + "\n\r";
}
else
{
label1.Text += " : " + "\n\r";
}
}
}
}
}
====================================
(感じ的には explorer で、コンピュータ を一覧表示させた、写真のような感じ)
を作ろうと思ったのですが、なかなかうまくいきません。
Desktop アプリなら DriveInfo で、簡単に取れる、ドライブの空き容量などの情報が
Windows8 ストアーアプリでは、取得できません。
というか、 DriveInfo クラス自体がないみたいです。
ネットで調べているのですが、なかなか上手い情報が見つかりません。
ドライブの空き領域を取得する方法なんて、すぐ見つかりそうなものなのに・・・。
とりあえず、Desktop アプリ で、ドライブ情報を取得するプログラムを載せておきます。
フォーム上の、ボタンをクリックすとドライブ情報が表示されます。
Windows8 Desktop C#
Form に Button と Label を配置
Form1.cs
====================================
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Disk_Drive_Info
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
label1.Text = "";
foreach (DriveInfo Dd in allDrives)
{
label1.Text += "Drive " + Dd.Name;
if (Dd.IsReady == true)
{
long FreeP = Dd.TotalFreeSpace * 100 / Dd.TotalSize;
label1.Text += " : " + FreeP.ToString() + "% Free ";
label1.Text += Dd.TotalFreeSpace / 1000000000 + "GB / ";
label1.Text += Dd.TotalSize / 1000000000 + "GB " + "\n\r";
// label1.Text += " Volume label: " + Dd.VolumeLabel + "\n\r";
// label1.Text += " File system: " + Dd.DriveFormat + "\n\r";
// label1.Text += " DriveType: " + Dd.DriveType + "\n\r";
}
else
{
label1.Text += " : " + "\n\r";
}
}
}
}
}
====================================
ラベル:
C#,
Win8,
Win8アプリ,
WinDesktop,
プログラム
2012年11月26日月曜日
Win8 スタート画面タイルのグループ
Windows8 のスタート画面のタイルは、タイルをドラッグし
隣のタイルと隙間を開けて配置すれば、小さいサイズで偶数列づつのグループにできます。
このグループ、名前を付けたり、グループごとの場所の移動ができます。
スタート画面の右下の部分をクリックすると、タイルが縮小表示に変わります。
スタート画面で Ctrl キー + マウスのスクロールボタンの回転 でも切り替わります。
この縮小状態で、グループを右クリックすれば
左下に グループ名を付ける のボタンが現れ、名前を付けることができます。
また、グループをドラッグしてやれば、グループ単位で場所を入れ替えられます。
隣のタイルと隙間を開けて配置すれば、小さいサイズで偶数列づつのグループにできます。
このグループ、名前を付けたり、グループごとの場所の移動ができます。
スタート画面の右下の部分をクリックすると、タイルが縮小表示に変わります。
スタート画面で Ctrl キー + マウスのスクロールボタンの回転 でも切り替わります。
この縮小状態で、グループを右クリックすれば
左下に グループ名を付ける のボタンが現れ、名前を付けることができます。
また、グループをドラッグしてやれば、グループ単位で場所を入れ替えられます。
2012年11月25日日曜日
visual studio で発行したアプリのインストール先
今回、Copy text to clipboard ( CopyTtCb.exe ) を公開するための、インストーラーとして
Visual Studio の 発行 ( ClickOnce ) を使用しました。
これ( ClickOnce )を使用してインストールすると
インストール先のフォルダーなどは指定できず、勝手にインストールしてしまいます。
インストールのボタンをクリックするだけ、まさにワンクリックで、お手軽なのですが
どこにインストールされたか気になったので、調べてみました。
C:\Users\[ユーザー名]\AppData\Local\Apps\2.0
の下に、数字とアルファベットの羅列されたフォルダーが2階層あり、その中になります。
また、アプリの設定やデータは
C:\Users\[ユーザー名]\AppData\Local\Apps\2.0\Data
の下に、同様なフォルダーがあり、そこに保存されるようです。
ちなみに、AppData は、隠しフォルダーです。
インストール先が分かったからと言って、アンインストールするのに
直接このフォルダーを削除するようなことは、行なわないでください。
必ず、コントロールパネルの プログラム - プログラムのアンインストール
を使用してください。
Visual Studio の 発行 ( ClickOnce ) を使用しました。
これ( ClickOnce )を使用してインストールすると
インストール先のフォルダーなどは指定できず、勝手にインストールしてしまいます。
インストールのボタンをクリックするだけ、まさにワンクリックで、お手軽なのですが
どこにインストールされたか気になったので、調べてみました。
C:\Users\[ユーザー名]\AppData\Local\Apps\2.0
の下に、数字とアルファベットの羅列されたフォルダーが2階層あり、その中になります。
また、アプリの設定やデータは
C:\Users\[ユーザー名]\AppData\Local\Apps\2.0\Data
の下に、同様なフォルダーがあり、そこに保存されるようです。
ちなみに、AppData は、隠しフォルダーです。
インストール先が分かったからと言って、アンインストールするのに
直接このフォルダーを削除するようなことは、行なわないでください。
必ず、コントロールパネルの プログラム - プログラムのアンインストール
を使用してください。
2012年11月24日土曜日
Win8 ジャンプリスト対応のコピペアプリ公開
Copy text to clipboard ( CopyTtCb.exe )
Windows8 Desktop Application ( Jump List support)
予め設定したテキストを、クリックでクリップボードにコピーする
Win8 デスクトップアプリです。
設定後、アプリ本体のボタンをクリックするか
タスクバーにピン留めしておけば、右クリック(ジャンプリスト)で使えます。
SkyDrive を使って公開します。
このリンクから >>> http://sdrv.ms/RZaKds
SkyDrive の公開フォルダが開くので
CopyTtCb.zip を適当なフォルダにダウンロード後、ファイルを展開、setup.exe を実行し
インストーラーの指示に従って、インストールしてください。
[Windows によって PC が保護されました] が表示された場合
[詳細情報] をクリック、つづいて [実行] をクリックしてください。(詳しくはこちら)
インストールが成功すれば、Win8 の スタート の画面に CopyTtCb.exe のタイルが
ピン留めされているので、右クリックし、タスクバーにもピン留めし、それを利用してください。
アンインストールは、コントロールパネルのプログラムのアンインストールから
CopyTtCb.exe をアンインストールしてください。
ラベル:
C#,
Win8,
WinDesktop,
プログラム,
公開
2012年11月23日金曜日
ジャンプリストを実装するプログラムその2
前回に引き続き、Windows8 の ジャンプリスト を使うための、C# のプログラムです。
今回も、PresentationFramework を利用しています。参照に追加してください。
Form に Button を3つ追加します。
ボタンの機能は
ボタン1 新規
ボタン2 追加
ボタン3 削除
となります。
コメントアウトしてますが、
jumpList1 = JumpList.GetJumpList(System.Windows.Application.Current);
で、起動時のジャンプリストを取得しようとしたのですが、上手くいきませんでした。
これができないと、起動前の状態への追加ができないので困っています。
Form1.cs
====================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Shell;
using System.IO;
namespace Jump_List
{
public partial class Form1 : Form
{
JumpList jumpList1 = new JumpList();
public Form1()
{
InitializeComponent();
// jumpList1 = JumpList.GetJumpList(System.Windows.Application.Current);
}
private void button1_Click(object sender, EventArgs e)
{
// JumpTask 作成
JumpTask jumpTask1 = new JumpTask();
// JumpTask のプロパティ設定
jumpTask1.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
jumpTask1.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
jumpTask1.Arguments = "";
jumpTask1.Title = "Calculator";
jumpTask1.Description = "Open Calculator.";
jumpTask1.CustomCategory = "User Added Tasks";
// JumpTask 作成
JumpTask jumpTask2 = new JumpTask();
// JumpTask のプロパティ設定
jumpTask2.ApplicationPath = Path.Combine(Environment.GetEnvironmentVariable("windir"), "notepad.exe");
jumpTask2.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "notepad.exe");
jumpTask2.Arguments = "";
jumpTask2.Title = "NotePad";
jumpTask2.Description = "Open NotePad";
jumpTask2.CustomCategory = "User Added Tasks";
// JumpList に JumpTask 登録
jumpList1 = new JumpList(new JumpItem[] { jumpTask1, jumpTask2 }, true, true);
// 表示
jumpList1.Apply();
}
private void button2_Click(object sender, EventArgs e)
{
// JumpTask 作成
JumpTask jumpTask3 = new JumpTask();
// JumpTask のプロパティ設定
jumpTask3.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
jumpTask3.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
jumpTask3.Arguments = "/c dir";
jumpTask3.Title = "cmd";
jumpTask3.Description = "cmd";
jumpTask3.CustomCategory = "User Added Tasks";
// ジャンプリストの追加
jumpList1.JumpItems.Add(jumpTask3);
// 表示
jumpList1.Apply();
}
private void button3_Click(object sender, EventArgs e)
{
// ジャンプリストのクリア
jumpList1.JumpItems.Clear();
jumpList1.Apply();
}
}
}
====================================
2012年11月22日木曜日
ジャンプリストを実装するプログラム
Windows8 の ジャンプリスト を使うための、C# のプログラムです。
今回は、PresentationFramework を利用してみました。
それでは手順です。
Jump List の名前で、Windows フォームアプリケーションを作成
(既存のアプリに組み込む場合は、プロジェクトを開く)
メニューバーから、プロジェクト 参照の追加
参照マネージャー の画面で、アセンブリ フレイムワーク の一覧の中の
PresentationFramework に チェック OK ボタンをクリック。
Form1.cs のコード画面で
using System.Windows.Shell;
を追加
これで、PresentationFramework が利用可能になります。
ついでに、using System.IO; も追加
JumpTask を用意し、これをJumpItem として JumpList に登録します。
最後に JumpList を表示させます。
今回のプログラムでは、フォームが表示されますが、フォームには何も無いです。
ジャンプリストに、電卓とメモ帳とコマンドプロンプトの3つが追加表示されます。
コマンドプロンプトは、dir を表示し、自動的に閉じます。
Form1.cs
====================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Windows.Shell;
using System.IO;
namespace Jump_List
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// JumpTask 作成
JumpTask jumpTask1 = new JumpTask();
// JumpTask のプロパティ設定
jumpTask1.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
jumpTask1.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "calc.exe");
jumpTask1.Arguments = "";
jumpTask1.Title = "Calculator";
jumpTask1.Description = "Open Calculator.";
jumpTask1.CustomCategory = "User Added Tasks";
// JumpTask 作成
JumpTask jumpTask2 = new JumpTask();
// JumpTask のプロパティ設定
jumpTask2.ApplicationPath = Path.Combine(Environment.GetEnvironmentVariable("windir") , "notepad.exe");
jumpTask2.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "notepad.exe");
jumpTask2.Arguments = "";
jumpTask2.Title = "NotePad";
jumpTask2.Description = "Open NotePad";
jumpTask2.CustomCategory = "User Added Tasks";
// JumpTask 作成
JumpTask jumpTask3 = new JumpTask();
// JumpTask のプロパティ設定
// string str = "test";
jumpTask3.ApplicationPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
jumpTask3.IconResourcePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "cmd.exe");
jumpTask3.Arguments = "/c dir";
jumpTask3.Title = "cmd";
jumpTask3.Description = "cmd";
jumpTask3.CustomCategory = "User Added Tasks";
// JumpList に JumpTask 登録
JumpList jumpList1 = new JumpList(new JumpItem[] { jumpTask1, jumpTask2 , jumpTask3 }, true, true);
// 表示
jumpList1.Apply();
}
}
}
====================================
ラベル:
C#,
Win8,
WinDesktop,
プログラム
Win8 のジャンプリスト
Windows8 の タスクバー 上の プログラム ボタン を
右クリック すると表示されるのが、ジャンプリストです。
ちなみに、今まで右クリックで表示されていた、コンテキストメニューを表示させるには
SHIFT + 右クリック になります。
このジャンプリストを、自作アプリで使用する方法を、ネットで調べてみると
いくつかの方法が見つかります。
Windows API Code Pack を利用する方法
WPF 4 を使用する方法
PresentationFramework を利用する方法
検索結果では、Windows API Code Pack を利用した記事が多いようです。
今回は、PresentationFramework を利用したプログラムを作ってみたので
次回の記事で紹介します。
右クリック すると表示されるのが、ジャンプリストです。
ちなみに、今まで右クリックで表示されていた、コンテキストメニューを表示させるには
SHIFT + 右クリック になります。
このジャンプリストを、自作アプリで使用する方法を、ネットで調べてみると
いくつかの方法が見つかります。
Windows API Code Pack を利用する方法
WPF 4 を使用する方法
PresentationFramework を利用する方法
検索結果では、Windows API Code Pack を利用した記事が多いようです。
今回は、PresentationFramework を利用したプログラムを作ってみたので
次回の記事で紹介します。
Win 8 Pro にDVD 再生機能追加、今なら無料
意外と知られてない?
Windows Media Center と、DVD 再生機能を、Windows 8 Pro に追加するための
Windows 8 Media Center Pack は、期間限定で、無料で入手できます。
キャンペーンの対象期間は、2013 年 1 月 31 日までです。
キャンペーン情報ページへのリンク
http://windows.microsoft.com/ja-jp/windows-8/feature-packs
Windows Media Center と、DVD 再生機能を、Windows 8 Pro に追加するための
Windows 8 Media Center Pack は、期間限定で、無料で入手できます。
キャンペーンの対象期間は、2013 年 1 月 31 日までです。
キャンペーン情報ページへのリンク
http://windows.microsoft.com/ja-jp/windows-8/feature-packs
2012年11月21日水曜日
Win8のタスクバーにも右端にデスクトップ表示ボタンがある
Windows7では、タスクバーの右端に、細い縦長の [デスクトップ表示] ボタンがあり
ここに、マウスカーソルをもっていき、しばらく待つと
デスクトップがプレビュー状態になり、開いているウインドウが透けました。
また、ここをクリックすると、
開いているウインドウが最小化し、デスクトップが表示され
もう一度クリックすると元に戻りました。
Windows8では、この部分にマウスカーソルを持っていくと、チャームが表示されます。
その為、一見 [デスクトップ表示] ボタンが無くなったのか、と勘違いしがちです。
しかし、Windows8にも、タスクバーの右端に [デスクトップ表示] ボタンがあり
この部分をクリックすると、開いているウインドウが最小化されます。
また、右クリックし、[デスクトップのプレビュー] にチェックを入れておけば
マウスカーソルをもっていくと、ウインドウが透けるようになります。
ここに、マウスカーソルをもっていき、しばらく待つと
デスクトップがプレビュー状態になり、開いているウインドウが透けました。
また、ここをクリックすると、
開いているウインドウが最小化し、デスクトップが表示され
もう一度クリックすると元に戻りました。
Windows8では、この部分にマウスカーソルを持っていくと、チャームが表示されます。
その為、一見 [デスクトップ表示] ボタンが無くなったのか、と勘違いしがちです。
しかし、Windows8にも、タスクバーの右端に [デスクトップ表示] ボタンがあり
この部分をクリックすると、開いているウインドウが最小化されます。
また、右クリックし、[デスクトップのプレビュー] にチェックを入れておけば
マウスカーソルをもっていくと、ウインドウが透けるようになります。
Win8に スタートメニュー ”もどき” を表示される
Windows8 のデスクトップに、Win7 以前に有った、スタートメニューに
似たものを表示させる方法を紹介します。
今回紹介する方法は、フリーソフトなどは使いません。
簡単に言うと、フォルダーをタスクバーにツールバーとして登録するだけです。
では、詳しくその手順を紹介します。
1 好きな場所に、好きな名前で、フォルダを作る。
2 フォルダーの中に、メニューとして表示させるプログラムのショートカットを作る。
3 タスクバーの空欄部分を右クリック
4 ツール バー(T) > 新規ツール バー(N)... を選択
5 新規ツール バー - フォルダーの選択 で、先程作ったフォルダーを選択
6 [フォルダの選択] ボタンをクリック
7 タスクバーに、選択したフォルダのツールバーが、右側寄りにできる。
8 このフォルダーのツールバーのタイトルの部分をドラッグして、左端に寄せる。
9 元々あったタスクバーが右に寄るので、頭の部分を左にドラッグし
10 フォルダーのツールバーが最小になるようにする。
これで完成
最小化されたツールバーの ≫ 部分をクリックするとメニューが表示されます。
クリックできるところが狭いのが難点
フォルダーは、わざわざ新規作成しなくても、隠しフォルダー内の
[スタートメニュー] フォルダーをツールバーにしても、かまわないと思いますが
余計なショートカットも多いので、新規にフォルダーを作って
そこに、[スタートメニュー] フォルダーから、必要なものをコピペした方がいいでしょう。
今回は、[スタートメニュー] フォルダーで[スタートアップ] フォルダーではないので注意
[スタートアップ] フォルダーの2つ上です。
また、フォルダー名が、ツールバーのタイトルと成りますので
フォルダー名は、短い方がいいと思います。( Menu とか )
フォルダー内にフォルダーを作れば、階層で表示されます。
メニューの並び順は、ドラッグで変えられます。
このメニューもどき入れると上手く動きません。
写真のように、タスクバーにピン留めして利用してください。
2012年11月20日火曜日
アプリのユーザー設定を保存するプログラム
アプリケーションのユーザー設定を保存する方法はいくつかありますが、
今回は、Visual Studio C# で、[設定] ページ (プロジェクト デザイナー)を利用する方法を紹介
[プロジェクト] メニューの [プロパティ] をクリックし、[設定] タブをクリックする。
ここで、ユーザー設定の保存先の[名前] 等を予め決めておく。
次に、プログラムでは、
Properties.Settings.Default.[名前] が、ユーザー設定の格納場所となる。
設定を呼び出すときは
this.label1.Text = Properties.Settings.Default.[名前];
設定を格納するときは
Properties.Settings.Default.[名前] = this.textBox1.Text;
となる。
格納した設定をファイルとして保存するには
Properties.Settings.Default.Save();
ファイルとして保存して置かないと、アプリ終了時に設定が消えてしまうので
終了前には必ず実行すること。
アプリ起動時のファイルからの読み込みは、自動的に行なわれる。
設定を変更後、保存した設定ファイルの値に戻したい場合
Properties.Settings.Default.Reload();
設定を既定値([設定] の[値]欄の値 )に戻したい場合
Properties.Settings.Default.Reset();
この場合、設定ファイルの値もリセットされるので注意
また、Save()、Reload()、Reset() は、設定[名前] ごとに行われるのではなく
すべての設定[名前] に対して行われる。
---------------------------------------
動作確認用にプログラムを作ってみた。
Settings Management WinDesktop C#
[設定] ページ (プロジェクト デザイナー)で、下記を入力
[名前] TextSetting1
[型] string
[スコープ] ユーザー
[値] 初期値
form に label と textBox それと button を3つ配置
button1 が Save
button2 が Reload
button3 が Reset
Form1.cs
====================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Settings_Management
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 起動時に保存してある設定を呼び出す
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
private void button1_Click(object sender, EventArgs e)
{
// 変数に設定した値を、設定ファイルとして保存したい場合
Properties.Settings.Default.Save();
}
private void button2_Click(object sender, EventArgs e)
{
// 変数の値を設定した後で、現在の設定ファイルの値に戻したい場合
Properties.Settings.Default.Reload();
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
}
private void button3_Click(object sender, EventArgs e)
{
// 既定値に戻したい場合
Properties.Settings.Default.Reset();
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
// 設定の格納
Properties.Settings.Default.TextSetting1 = this.textBox1.Text;
this.label1.Text = Properties.Settings.Default.TextSetting1;
}
}
}
====================================================================
今回は、Visual Studio C# で、[設定] ページ (プロジェクト デザイナー)を利用する方法を紹介
[プロジェクト] メニューの [プロパティ] をクリックし、[設定] タブをクリックする。
ここで、ユーザー設定の保存先の[名前] 等を予め決めておく。
次に、プログラムでは、
Properties.Settings.Default.[名前] が、ユーザー設定の格納場所となる。
設定を呼び出すときは
this.label1.Text = Properties.Settings.Default.[名前];
設定を格納するときは
Properties.Settings.Default.[名前] = this.textBox1.Text;
となる。
格納した設定をファイルとして保存するには
Properties.Settings.Default.Save();
ファイルとして保存して置かないと、アプリ終了時に設定が消えてしまうので
終了前には必ず実行すること。
アプリ起動時のファイルからの読み込みは、自動的に行なわれる。
設定を変更後、保存した設定ファイルの値に戻したい場合
Properties.Settings.Default.Reload();
設定を既定値([設定] の[値]欄の値 )に戻したい場合
Properties.Settings.Default.Reset();
この場合、設定ファイルの値もリセットされるので注意
また、Save()、Reload()、Reset() は、設定[名前] ごとに行われるのではなく
すべての設定[名前] に対して行われる。
---------------------------------------
動作確認用にプログラムを作ってみた。
Settings Management WinDesktop C#
[設定] ページ (プロジェクト デザイナー)で、下記を入力
[名前] TextSetting1
[型] string
[スコープ] ユーザー
[値] 初期値
form に label と textBox それと button を3つ配置
button1 が Save
button2 が Reload
button3 が Reset
Form1.cs
====================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Settings_Management
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// 起動時に保存してある設定を呼び出す
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
private void button1_Click(object sender, EventArgs e)
{
// 変数に設定した値を、設定ファイルとして保存したい場合
Properties.Settings.Default.Save();
}
private void button2_Click(object sender, EventArgs e)
{
// 変数の値を設定した後で、現在の設定ファイルの値に戻したい場合
Properties.Settings.Default.Reload();
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
}
private void button3_Click(object sender, EventArgs e)
{
// 既定値に戻したい場合
Properties.Settings.Default.Reset();
this.textBox1.Text = Properties.Settings.Default.TextSetting1;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
// 設定の格納
Properties.Settings.Default.TextSetting1 = this.textBox1.Text;
this.label1.Text = Properties.Settings.Default.TextSetting1;
}
}
}
ラベル:
C#,
WinDesktop,
プログラム
2012年11月19日月曜日
コマンドライン引数を取得するプログラム
コマンドライン引数を取得する方法を確認するため、作ってみた。
起動すると
ラベル1に System.Environment.CommandLine の値
フルパスでファイル名と引数
ラベル2に 配列に格納された System.Environment.GetCommandLineArgs() の値
配列[0] には、フルパスでファイル名、引数が指定されていない場合も有効
ラベル3に 配列からデータを得るための値
が表示される。
ボタンをクリックすると、
配列からデータを得るための値を増やし、ラベル2とラベル3が変更される。
配列[1] 以降が指定した引数となる。
配列のデータ数確認は、 配列名.Length
引数が指定されていない場合が 1、引数が2つあれば 3 となる。
Command line arguments WinDesktop C# のプログラム
Form に button と label を3つ配置
起動すると
ラベル1に System.Environment.CommandLine の値
フルパスでファイル名と引数
ラベル2に 配列に格納された System.Environment.GetCommandLineArgs() の値
配列[0] には、フルパスでファイル名、引数が指定されていない場合も有効
ラベル3に 配列からデータを得るための値
が表示される。
ボタンをクリックすると、
配列からデータを得るための値を増やし、ラベル2とラベル3が変更される。
配列[1] 以降が指定した引数となる。
配列のデータ数確認は、 配列名.Length
引数が指定されていない場合が 1、引数が2つあれば 3 となる。
デバッグ中に引数を指定する方法は、[プロジェクト名] のプロパティ (Alt+F7) の
デバッグ - コマンドライン引数 の欄に指定できる。
Command line arguments WinDesktop C# のプログラム
Form に button と label を3つ配置
Form1.cs
=======================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Command_line_arguments
{
public partial class Form1 : Form
{
// 引数を配列に格納
string[] args = System.Environment.GetCommandLineArgs();
int i = 0;
public Form1()
{
InitializeComponent();
// フルパスでファイル名と引数を表示
this.label1.Text = System.Environment.CommandLine;
// 配列[0] には、フルパスでファイル名
this.label2.Text = args[i];
this.label3.Text = "変数 i の値 : " + i.ToString();
// this.label3.Text = args.Length.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
// 配列のデータ数確認、引数がなくてもデータ数は1
// i = i + 1;
if (args.Length > ++i)
{
// 配列[1] からが引数
this.label2.Text = args[i];
this.label3.Text = "変数 i の値 : " + i.ToString();
// Clipboard.SetText(args[i]);
}
}
}
}
=======================================================================
ラベル:
C#,
WinDesktop,
プログラム
2012年11月18日日曜日
Win8でダウンロードしたファイルが実行できない
Windows8で、ダウンロードしたフリーソフトなどを起動すると
[Windows によって PC が保護されました] が表示され
ソフトが実行できないことがあります。
この場合、[詳細情報] をクリックします。
[詳細情報] は、ボタンのようになっているわけではなく、文字の色が変わっているだけなので
注意しないと、見逃してしまがちです。
[詳細情報] をクリックすると、画面表示が変わるので、つづいて [実行] をクリックしてください。
[Windows によって PC が保護されました] が表示されるのは、初回起動時のみで
一度実行してしまえば、次回からは、表示されなくなります。
画面中央帯状に、デカデカと表示されるので、最初に見たときは、ビックリしました。
[Windows によって PC が保護されました] が表示され
ソフトが実行できないことがあります。
この場合、[詳細情報] をクリックします。
[詳細情報] は、ボタンのようになっているわけではなく、文字の色が変わっているだけなので
注意しないと、見逃してしまがちです。
[詳細情報] をクリックすると、画面表示が変わるので、つづいて [実行] をクリックしてください。
[Windows によって PC が保護されました] が表示されるのは、初回起動時のみで
一度実行してしまえば、次回からは、表示されなくなります。
画面中央帯状に、デカデカと表示されるので、最初に見たときは、ビックリしました。
2012年11月17日土曜日
スタートアップに [デスクトップの表示] を作成するプログラム
Win8起動時にデスクトップを表示する方法で紹介した
スタートアップに [デスクトップの表示] を作成する方法いかがでしたか?
[デスクトップの表示] の作成から自分でやるのは大変だ、という人向けに
スタートアップに [デスクトップの表示] を作成するプログラムを作ってみました。
Open the Startup Folder (OpenSupF.exe)
Windows8 WindowsDesktop C# のプログラムです。
SkyDrive を使って公開します。
このリンクから >>> http://sdrv.ms/RZaKds
SkyDrive の公開フォルダが開くので
OpenSupF を適当なフォルダにダウンロードし、実行してください。
[Windows によって PC が保護されました] が表示された場合
[詳細情報] をクリック、つづいて [実行] をクリックしてください。
Created ボタン をクリックすると、ログオンしているユーザーの、スタートアップフォルダに
Show_Desktop.scf のファイル名で、[デスクトップの表示] が作成されます。
これで、Win8起動時に、スタート画面が表示後
自動的に、デスクトップに表示が切り替わるようになります。
起動時に、デスクトップを表示するのをやめたい場合は
Open ボタン をクリックすれば、スタートアップフォルダが、エクスプローラーで開きます。
そこにある、Show_Desktop.scf のファイルを削除してください。
---------------------------------------
前回作成した、[デスクトップの表示] から少し変更してあります。
・ ファイル名を、デスクトップの表示.scf から Show_Desktop.scf に変更
・ コードの内容を以下に変更、アイコンの表示が変わります。
[Shell]
Command=2
IconFile=System32/imageres.dll,105
[Taskbar]
Command=ToggleDesktop
Open the Startup Folder (OpenSupF.exe) の内容
Form に button を 3つ配置
Form1.cs
=====================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;
namespace OpenStartupFolder
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// ログオン ユーザー用スタートアップフォルダを開く
private void button1_Click(object sender, EventArgs e)
{
string UserProfile = Environment.GetEnvironmentVariable("USERPROFILE");
Process.Start("EXPLORER.EXE", "/n, " + UserProfile + @"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup");
}
// All User 用スタートアップフォルダを開く
private void button2_Click(object sender, EventArgs e)
{
string systemDrive = Environment.GetEnvironmentVariable("SystemDrive");
Process.Start("EXPLORER.EXE", "/n, " + systemDrive + @"\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp");
}
// Show_Desktop.scf を作成する
private void button3_Click(object sender, EventArgs e)
{
string UserProfile = Environment.GetEnvironmentVariable("USERPROFILE");
string Show_Desktop = UserProfile + @"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Show_Desktop.scf";
// ファイルの存在を確認
if (File.Exists(Show_Desktop))
{
MessageBox.Show("既に Show_Desktop.scf ファイルは存在します。");
}
else
{
// Show_Desktop.scf を作成
Encoding Enco = Encoding.GetEncoding(0)
StreamWriter writer = new StreamWriter(Show_Desktop, true, Enco);
writer.WriteLine("[Shell]");
writer.WriteLine("Command=2");
writer.WriteLine("IconFile=System32/imageres.dll,105");
writer.WriteLine("[Taskbar]");
writer.WriteLine("Command=ToggleDesktop");
writer.Close();
MessageBox.Show("Startup Folder に Show_Desktop.scf を作成しました。");
}
}
}
}
======================================================================
ラベル:
C#,
Win8,
WinDesktop,
プログラム,
公開
2012年11月16日金曜日
Win8でシャットダウン Dialog Boxを表示するプログラムを公開
前回紹介した、Windows8で、シャットダウンダイアログボックスを表示するプログラム
Show the Shutdown Dialog Box (ShowSDB.exe)
をビルドした、実行形式 (.exe) のファイルを
SkyDrive を使って公開してみます。
このリンクから >>> http://sdrv.ms/RZaKds
SkyDrive の公開フォルダが開くので
ShowSDB を適当なフォルダにダウンロードしてください。
ダウンロードできたら、ShowSDB.exe を右クリックし
・ スタートにピン留め(P)
・ タスクバーにピン留め(K)
・ 送る(N) > デスクトップ(ショートカットを作成)
などから、お好みの場所にショートカットを作成してください。
初回起動時
[Windows によって PC が保護されました] が表示された場合
[詳細情報] をクリック、つづいて [実行] をクリックしてください。
次回からは表示されません。
Show the Shutdown Dialog Box (ShowSDB.exe)
をビルドした、実行形式 (.exe) のファイルを
SkyDrive を使って公開してみます。
このリンクから >>> http://sdrv.ms/RZaKds
SkyDrive の公開フォルダが開くので
ShowSDB を適当なフォルダにダウンロードしてください。
ダウンロードできたら、ShowSDB.exe を右クリックし
・ スタートにピン留め(P)
・ タスクバーにピン留め(K)
・ 送る(N) > デスクトップ(ショートカットを作成)
などから、お好みの場所にショートカットを作成してください。
初回起動時
[Windows によって PC が保護されました] が表示された場合
[詳細情報] をクリック、つづいて [実行] をクリックしてください。
次回からは表示されません。
ラベル:
WinDesktop,
プログラム,
公開
2012年11月15日木曜日
Win8起動時にデスクトップを表示する方法
追記
下記の作業を、ワンクリックで実行するプログラムを作りました。
詳しくは、スタートアップに [デスクトップの表示] を作成するプログラムを見てください。
---------------------------------------
Windows8を起動すると、スタートの画面が表示せれますが
現時点で私の場合、すぐ、デスクトップに表示を切り替えているのが現状です。
いっその事、最初からデスクトップを表示させられないか
調べてみたところ、いくつか方法はあるようです。
・ スタートアップに explorer.exe のショートカットを作成する。
・ スタートアップに [デスクトップの表示] を作成する。
・ タスクスケジューラを使う。
・ レジストリを編集する。
・ フリーソフト(Skip Metro Suite、StartOnDesktop 等)を使う。
今回は、スタートアップに [デスクトップの表示] を作成する方法を説明します。
この方法の場合、Windows8を起動すると、スタートの画面が一旦表示せれ
そのまま十秒位待っていると、自動的にデスクトップに表示が切り替わります。
作業手順は
まず、[デスクトップの表示] アイコンを自分で作成します。
1. メモ帳(notepad) を起動し、以下のテキストを正確に入力(コピペ)します。
下記の作業を、ワンクリックで実行するプログラムを作りました。
詳しくは、スタートアップに [デスクトップの表示] を作成するプログラムを見てください。
---------------------------------------
Windows8を起動すると、スタートの画面が表示せれますが
現時点で私の場合、すぐ、デスクトップに表示を切り替えているのが現状です。
いっその事、最初からデスクトップを表示させられないか
調べてみたところ、いくつか方法はあるようです。
・ スタートアップに explorer.exe のショートカットを作成する。
・ スタートアップに [デスクトップの表示] を作成する。
・ タスクスケジューラを使う。
・ レジストリを編集する。
・ フリーソフト(Skip Metro Suite、StartOnDesktop 等)を使う。
今回は、スタートアップに [デスクトップの表示] を作成する方法を説明します。
この方法の場合、Windows8を起動すると、スタートの画面が一旦表示せれ
そのまま十秒位待っていると、自動的にデスクトップに表示が切り替わります。
作業手順は
まず、[デスクトップの表示] アイコンを自分で作成します。
1. メモ帳(notepad) を起動し、以下のテキストを正確に入力(コピペ)します。
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
2. [ファイル] メニューの [名前を付けて保存] をクリックしてCommand=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
"デスクトップの表示.scf" という名前でデスクトップに保存します。
[デスクトップの表示] アイコンがデスクトップに作成されます。
* 実は拡張子が ”.scf” ならば、ファイル名は何でもいいみたいです。
次に、 [デスクトップの表示] アイコンを スタートアップ に、コピー又は移動します。
スタートアップ のフォルダの場所は、以下のとおりです。
ユーザーごとに使い分ける場合
C:\Users\[ユーザー名]\AppData\Roaming\Microsoft\Windows\
スタート メニュー\プログラム\スタートアップ\
全ユーザーの場合
C:\ProgramData\Microsoft\Windows\スタート メニュー\プログラム\スタートアップ\
注意点として、AppData や ProgramData は、隠しフォルダーなので
エクスプローラーを使てコピーする場合
隠しファイルを表示する 設定に、変更してから作業してください。
* エクスプローラーで、スタートアップ のフォルダーを開くには
以下のテキストを、アドレスバーにコピペするのが簡単かもしれません。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
デスクトップに作成された、[デスクトップの表示] アイコンを
スタートアップ のフォルダーに、ドラッグ&ドロップ(移動になります)します。
以上で作業は終了です。
使用感
スタートの画面が、一旦表示せれてから、
自動で、デスクトップに表示が切り替わるまでに、結構時間がかかるので
自動で、デスクトップに表示が切り替わるまでに、結構時間がかかるので
これなら自分で切り替えたほうが早いな。。。
Win8でシャットダウンダイアログボックスを表示するプログラム
Windows8になって、シャットダウンに手間がかかるようになりました。
そのため、簡単にシャットダウンする方法がいろいろ試行錯誤されています。
そんな中で、今回は、シャットダウンダイアログボックスを表示するプログラム
を作ってみました。
スタート画面とタスクバーにピン留めしておくと便利かもしれません。
Win8アプリ(Windows ストア アプリ)ではありません。
というか、Win8アプリでシャットダウンする方法が見当たりません。
Windows Desktop C# のアプリです。
Show the Shutdown Dialog Box (ShowSDB.exe)
Form1.cs
=====================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;
namespace ShowSDB
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// シャットダウンダイアログボックスを表示
Process[] ps = Process.GetProcessesByName("explorer");
foreach (Process item in ps)
{
item.CloseMainWindow();
}
// マウスカーソルの移動 モニターによっては -50 変更が必要かも
int centerX = Screen.PrimaryScreen.Bounds.Right / 2;
int centerY = Screen.PrimaryScreen.Bounds.Bottom / 2;
Cursor.Position = new Point(centerX, centerY - 50);
// フォームを閉じる
// Environment.Exit(0);
Application.Exit();
}
}
}
=====================================================================
Win8のシャットダウンの方法を、いろいろ試しているけれど
結局は、PC本体の電源ボタンを押すのが一番簡単なのかな。。。
今までの慣れからすると、ちょっと怖いけど (・_・;)ゞ
ラベル:
C#,
WinDesktop,
プログラム
2012年11月14日水曜日
Win8 でログインを自動化
Windows8 で電源投入後、ログイン画面を出さず、スタート画面を表示させる
自動サインインの設定方法
====================================
スタート画面で右クリック
右下のすべてのアプリボタンをクリック
ファイル名を指定して実行をクリック
ファイル名を指定して実行が表示されるので
名前(O):の欄に
control userpasswords2
と入力し、OKボタンをクリック
ユーザー アカウントが表示されるので
このコンピューターのユーザー(U):の一覧から
ログインしたいユーザーをクリックし、選択
ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要(E)
のチェックボックスをクリックし、チェックを外す
OKボタンをクリック
自動サインインが表示されるので
パスワード(P):とパスワードの確認入力(C):にパスワードを入力
OKボタンをクリック
====================================
自動サインインの設定方法
====================================
スタート画面で右クリック
右下のすべてのアプリボタンをクリック
ファイル名を指定して実行をクリック
ファイル名を指定して実行が表示されるので
名前(O):の欄に
control userpasswords2
と入力し、OKボタンをクリック
ユーザー アカウントが表示されるので
このコンピューターのユーザー(U):の一覧から
ログインしたいユーザーをクリックし、選択
ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要(E)
のチェックボックスをクリックし、チェックを外す
OKボタンをクリック
自動サインインが表示されるので
パスワード(P):とパスワードの確認入力(C):にパスワードを入力
OKボタンをクリック
====================================
2012年11月13日火曜日
コピペのスナップガジェット
Win8 では、サイドバーガジェットが使えなくなってしまいました。
今まで コピペ のガジェットを常用していたので、不便でなりません。
そこで、代わりにスナップしておける コピペ のプログラムを作ってみました。
画像の右端の部分です。
Copy ボタンをクリックすると、テキストボックスに入力してある文字を、
クリップボードにコピーします。
あとは入力したいところで、貼り付け します。
Win8 アプリでは、時計が表示されないので、
日付と時刻が表示されるようにしてみました。
下の丸いボタンは、設定を開くボタンなのですが、
今のところ、設定変更できる項目はありません。
ですが、このボタン(Settings) - 電源 - シャットダウン とクリックすれば、
マウスの移動が最小限でシャットダウンできます。
これが意外と便利なのですが、前の投稿にも書いたように、
時々設定画面がうまく開かない問題があり、まだ解決していません。
しかし、、、常に表示させておくには、スナップの幅が広すぎます。。。(T_T)
2012年11月12日月曜日
Win8 で時計を表示させるプログラム
Win8アプリで時計を表示さるC#のプログラム
なんか、これも今までどおりではうまくいかない。
TextBlock を以下の名前で、3つ作成しておく
Day_Text
Week_Text
Time_Text
MainPage.xaml.cs
-------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using System.Threading.Tasks;
// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234238 を参照してください
namespace Clock
{
/// <summary>
/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
// タイマー設定
startTimer();
}
/// <summary>
/// タイマー開始
/// </summary>
private void startTimer()
{
var timer = new DispatcherTimer();
/// タイマーの更新間隔ミリ秒
timer.Interval = TimeSpan.FromMilliseconds(200);
timer.Tick += onTimer;
timer.Start();
}
private void onTimer(object sender, object e)
{
// 時刻を表示
var now = DateTime.Now;
// 英語表示
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
// 日付
string text1 = now.ToString("yy/MM/dd");
this.Day_Text.Text = text1;
// 曜日
string text2 = now.ToString("ddd", ci);
this.Week_Text.Text = text2;
// 時間
// string text3 = now.ToString("HH:mm:ss");
string text3 = now.ToString("hh:mm:ss tt", ci);
this.Time_Text.Text = text3;
}
}
}
なんか、これも今までどおりではうまくいかない。
TextBlock を以下の名前で、3つ作成しておく
Day_Text
Week_Text
Time_Text
MainPage.xaml.cs
-------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using System.Threading.Tasks;
// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234238 を参照してください
namespace Clock
{
/// <summary>
/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
// タイマー設定
startTimer();
}
/// <summary>
/// タイマー開始
/// </summary>
private void startTimer()
{
var timer = new DispatcherTimer();
/// タイマーの更新間隔ミリ秒
timer.Interval = TimeSpan.FromMilliseconds(200);
timer.Tick += onTimer;
timer.Start();
}
private void onTimer(object sender, object e)
{
// 時刻を表示
var now = DateTime.Now;
// 英語表示
System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
// 日付
string text1 = now.ToString("yy/MM/dd");
this.Day_Text.Text = text1;
// 曜日
string text2 = now.ToString("ddd", ci);
this.Week_Text.Text = text2;
// 時間
// string text3 = now.ToString("HH:mm:ss");
string text3 = now.ToString("hh:mm:ss tt", ci);
this.Time_Text.Text = text3;
}
}
}
-----------------------------------------------------------------------------
2012年11月11日日曜日
クリップボードにコピー
クリップボードにテキストをコピーするプログラム C#
今まで(デスクトップアプリ)は
Clipboard.SetText("Hello World!");
で済んでいましたが
Windows8アプリでは、とおりませんでした。
としたうえで、
DataPackage dataPackage = new DataPackage();
dataPackage.RequestedOperation = DataPackageOperation.Copy;
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);
としないといけないようです。
今まで(デスクトップアプリ)は
Clipboard.SetText("Hello World!");
で済んでいましたが
Windows8アプリでは、とおりませんでした。
using Windows.ApplicationModel.DataTransfer;
としたうえで、
DataPackage dataPackage = new DataPackage();
dataPackage.RequestedOperation = DataPackageOperation.Copy;
dataPackage.SetText("Hello World!");
Clipboard.SetContent(dataPackage);
としないといけないようです。
Win8 で スナップ状態からチャームの設定を表示させるプログラムのテスト
Windows8 で スナップ状態からボタンをクリックすると
チャームの設定を表示させるプログラムのテスト
VS C# で、デバッグの時はちゃんと動くのに
スタート画面から起動すると、なぜか 時々 止まる。。。
何がいけないのだろう???
MainPage にボタンを一つ配置
MainPage.xaml.cs
--------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Windows.UI.ApplicationSettings;
using Windows.UI.ViewManagement;
// 空白ページのアイテム テンプレートについては、http://go.microsoft.com/fwlink/?LinkId=234238 を参照してください
namespace Test1
{
/// <summary>
/// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
/// </summary>
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
/// <summary>
/// このページがフレームに表示されるときに呼び出されます。
/// </summary>
/// <param name="e">このページにどのように到達したかを説明するイベント データ。Parameter
/// プロパティは、通常、ページを構成するために使用します。</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
{
if (ApplicationView.Value == ApplicationViewState.Snapped)
{
Windows.UI.ViewManagement.ApplicationView.TryUnsnap();
}
SettingsPane.Show();
}
}
}
}
-----------------------------------------------------------------------
登録:
投稿 (Atom)