2012年12月17日月曜日

Win8 を再インストールしてみて分かったこと

Windows8 のインストール直後から、ユーザーのフォルダー名が
日本語になっているのが気になっていたのですが、案の定
この前入れた、Androido のエミュレーター(AVD Manager)で不具合が出ました。

今後も、いろいろ引っかかるのも嫌なので、フォルダー名をアルファベットに変更しようと
思ったのですが、なかなかうまくいきません。
アカウントの名前を変更しても、explorer のナビゲーションウィンドウの コンピューター の
上にある表示は変更されますが、ユーザーフォルダ名自体は変更されません。
アカウントを新たに作って、それを利用する
という方法もあったのですが、メールアドレスの変更も面倒なので
思い切って、Windows8 を再インストールすることにしました。

まず初めに、このまま再インストールすると、また日本語名のユーザーフォルダが
勝手に作られてしますので、Microsoft アカウントの名前をローマ字に変更します。
ユーザーフォルダ名に使われるのは、名前の「」の部分のようです。

変更方法は、設定チャームの一番下の、PC 設定の変更 をクリック
PC設定 の ユーザー から、アカウント設定の詳細をオンラインで確認する をクリック
Microsoft アカウント の 概要 から、名前の編集 をクリックし、名前の編集を行ないます。
例には漢字で書かれていますが、かまわずローマ字で入力します。
編集後は、保存してください。

再インストールすると、当然、作成したデータやソフトも消えてしまうので
バックアップは必ず取っておいてください。

ここまで準備ができたら、再インストールを行います。
今回は、設定チャームの一番下の、PC 設定の変更 をクリック
PC設定 の 全般 から、すべてを削除して Windows を再インストールする を利用します。

後は、指示に従って再インストールを行いますが、意外だった点が2点
     1 インストールメディアを求められる
     2 プロダクトIDの入力を求められる
特に、1 は、ダウンロード版でインストールし、メディアを作ってないと厄介かも。

無事再インストールも完了し、ユーザーフォルダ名をエクスプローラーで確認
ここでも意外だったことが2点
     1 ユーザーフォルダ名は、アカウントの名前の「名」の部分になっているが
    ナビゲーションウィンドウの コンピューター の上には、フルネームで表示される。
     2 エクスプローラーの設定(拡張子や隠しファイルの表示の設定など)が
    再インストール前から引き継がれている。
その後、2 に関連して、確認してみると、Internet Explorer の、お気に入り や
Win8アプリの、メール や カレンダー の設定も引き継がれていました。
デスクトップの壁紙もそうでした。
これらは、Microsoftアカウントでクラウド保存されているようです。
PC設定 の PC 設定の同期 から、同期の設定が行えます。


2012年12月15日土曜日

Win8 に Android の開発環境を構築

Windows8 に Androidの開発環境をインストールしてみました。

1 Java開発キット(JDK)のインストール
     http://www.oracle.com/technetwork/java/javase/downloads/index.html
     リンクから jdk-7u10-windows-x64.exe (64bitの場合)をダウンロードし
     Java開発キット(JDK)をインストールする。

2 統合開発環境(Eclipse)のインストール
     http://www.eclipse.org/downloads/
     リンクから eclipse-java-juno-SR1-win32-x86_64.zip をダウンロードし
     zip ファイルを C ドライブのルート( C:\ )に解凍する。
     解凍後は C:\eclipse のフォルダができる。
     解凍先を指定せず、そのまま解凍するとエラーとなるので注意

3 ADT(Android Developer Tools)のインストール
     C:\eclipse フォルダー 内の eclipse.exe をダブルクリック Eclipse を起動
     Workspace Launcher は、Workspace: に C:\eclipse\workspace と入力
     Use this as the default and do not ask again にチェックを入れ OK ボタンをクリック

     メニューの Help - Install New Software... を実行
     Work with: に http://dl-ssl.google.com/android/eclipse/ と入力し
     Enter キーを押すと、Name の欄に Developer Tools 等が表示されるので
     Developer Tools  をチェックした後、Next > をクリック
     次の画面も Next > をクリックし、Review Licenses で
     I accept the terms of the license agreements を選択し
     Finish をクリックします。Security Warning が出たらOKをクリックし
     Software Updates で Yes をクリックし、Eclipse を再起動します。

4 Android SDKのインストール
     Eclipse が再起動すると、
     Location of Androido SDK has not been setup in the preferences
     と表示されるので、Close をクリック、Welcome to Androido Development の画面で
     Install new SDK を選択し、下のチェックボックスを2つともチェック
     (上が最新、下が 2.2 、どちらか1つだけでも良い、後で追加できる。)
     Target Location: に C:\eclipse\android-sdks と入力(都合のいいフォルダを指定)
     Next > をクリックし、Send usage statistics Google? は、Yes 又は No を選択
     Finish をクリックし、次の画面で、Accept All を選択し、Install のボタンをクリック

     インストール終了後、メニューの Window - Android SDK Manager を実行
     Android SDK Manager を起動し、必要なバージョンの SDK をインストールする。
     このとき、ARM EABI v7a System Image はインストールしておくこと。

5 エミュレータを作成する
     メニューの Window - Android Virtual Device Manager  を実行
     Android Virtual Device Manager を起動し、New... のボタンをクリック
     必要事項を設定し、OK ボタンをクリックする。
     作成したエミュレータを選び Start ボタンをクリック
     Launch Options という画面が出たら Launchをクリックする。

     ユーザー名が日本語の場合エラーが出る。
     C:\Users\ユーザー名\.android\avd フォルダーの
     拡張子が .ini ファイルをワードパッドで開き(注意:メモ帳ではダメ)
     ユーザー名が文字化けしているので、正しく修正し、保存する。
     たぶんこれで行けると思う(未確認)

以上で、Android 開発環境の構築は完了です。








     


2012年12月10日月曜日

MS Office 2013 予約開始

Microsoft Office 2013 の パッケージ製品の価格が発表され、予約受付が開始されました。
なお、発売時期は、2013年第1四半期を予定しているようです。

http://blogs.technet.com/b/microsoft_office_/archive/2012/12/06/microsoft-office.aspx

今回からは、基本的にアップグレード版は無くなるようですが
「Office 発売記念 数量限定 Office Professional 2013 アップグレード優待パッケージ」を
数量限定で 35,800 円にて販売、とあります。

価格.COM での現時点(12/10 21:50)での最安値は、¥33,831 です。


また、10月19日から、こんなキャンペーンもやってます。

今 Office 2010 を買って、新しい Office を無償で手に入れよう
「次期 Office 無償 アップグレード プログラム」

http://www.microsoft.com/ja-jp/office/2013offer/default.aspx


Office Personal 2010 アップグレード優待版
価格.COM での現時点(12/10 22:00)での最安値は、¥29,600 です。
先程まで最安値は、Amazon.co.jp で、\28,724  でしたが、表示が無くなりました。
ただ、Amazon.co.jp では、ダウンロード版も販売しているようで
こちらは、現時点(12/10 22:10)で¥ 28,559 です。



現在、私が持っているのは Office 2003 (家族で使っているPCに入っている)
今使っているPCに入っているのは Open Office.ogr 別段これで十分なのですが
OS を Win8 にしたことだし、Office もアップグレードするか思案中。


ところで、ここの


FAQに

Q. 次期 Office はどの PC にインストールできますか?
A. Office 2010 のパッケージ版をお持ちのお客様は、本人が保有する 2 台までの PC にインストールすることができます。

となっているが、2台目は、本人が使用・携帯するパソコンに限るという条件は無くなったのか?

[PR]

2012年12月3日月曜日

コマンドラインからクリップボードを利用

今更、コマンドラインを使うことは、あまりないと思いますが
前回の投稿(圧縮ファイルの話)を書くときに使ったので、忘れないようにメモ書きです。

   コマンド | clip

コマンドの実行で、画面に表示されるべき文字列を、クリップボードにコピーします。
この時、画面には何も表示されません。

例として
   dir | clip          ファイル一覧が、クリップボードにコピーされます。
   echo testtext | clip  クリップボードに testtext の文字列がコピーされる。

ちなみに、前回の投稿は、 makecab | clip  を使って、コマンドの説明をコピペしました。

こんなこともできるようです。

   clip < test.txt

test.txt の内容(テキスト)をクリップボードにコピーします。


clip /? | clip  を使って、コピペすると以下のようになります。

---------------------------------------
CLIP

説明:
    コマンド ライン ツールの出力を Windows クリップボードにリダイレクトします。
    その出力されたテキストをほかのプログラムに貼り付けることができます。

パラメーター一覧:
    /?                  このヘルプを表示します。

例:
    DIR | CLIP          現在のディレクトリ一覧のコピーを Windows クリップボード
                        に貼り付けます。

    CLIP < README.TXT   readme.txt ファイルのテキストのコピーを Windows
                        クリップボードに貼り付けます。
---------------------------------------


2012年12月2日日曜日

Win8 での圧縮ファイル等の扱い

今まで、フリーの圧縮解凍ソフトを利用していたので、Win8にするまで
気づかなかったのですが、Windows って、Win7 の時点で既に標準で、
Zip の圧縮・解凍と LHA の解凍に対応していたんですね。

1 Zip と LHA(lzh) 形式

使い方は、エクスプローラーで圧縮ファイルが、圧縮フォルダ扱いになり、
圧縮ファイルの中身をそのまま確認でき、そこから、コピーや削除もできます。

右クリックし、コンテキストメニューから、すべて展開(T) を選べば解凍できます。
インストールの時などは、解凍(展開)しましょう。

圧縮したい場合は、ファイル(フォルダー)を選択し、右クリックメニューから、
送る > 圧縮(Zip形式)フォルダー を選択しファイル名を入力するだけです。
予め、圧縮(Zip形式)フォルダー を新規作成して置いて、そこへファイルを
ドラッグ&ドロップ してもOKです。圧縮は Zip 形式のみ対応です。

2 ISO 形式

また、Win8 からは、圧縮ファイルではないですが、ディスクイメージ(ISO)形式の
ファイルをマウントすることができるようになり、いちいち、CDやDVDに焼かなくても
インストールなどができるようになりました。

方法は、ISO ファイルをエクスプローラーなどで、ダブルクリックするだけです。
勝手にマウントされ、ドライブとして追加されます。
解除するには、マウントされたドライブを右クリックし、取り出し(J) を選択します。




3 CAB 形式

おまけです。
まず使うことはないと思いますが、Win8 では、キャビネット(CAB)形式も利用できます。

CAB形式は、エクスプローラーで圧縮フォルダ扱いになります。
ですが、右クリックメニューに 展開 は有りません。
ダブルクリックし、圧縮フォルダを開いてから、取り出して(コピーして)ください。

エクスプローラーで圧縮はできません。
圧縮方法は、コマンドラインから  makecab です。


Cabinet Maker - Lossless Data Compression Tool

MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination]
MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...]

  source         File to compress.
  destination    File name to give compressed file.  If omitted, the
                 last character of the source file name is replaced
                 with an underscore (_) and used as the destination.
  /F directives  A file with MakeCAB directives (may be repeated). Refer to
                 Microsoft Cabinet SDK for information on directive_file.
  /D var=value   Defines variable with specified value.
  /L dir         Location to place destination (default is current directory).
  /V[n]          Verbosity level (1..3).

使いたい場合は、詳しくはネットで知れべてね。


2012年12月1日土曜日

Win8でbiosの設定画面を表示させる方法

通常、電源投入時に Delete キーなどを押すと、バイオス設定画面が表示されます。
ところが、Windows8 をインストールすると、この操作をしても
バイオス設定画面が、表示されなくなってしまいます。

これは、Windows8 の高速スタートアップの設定が、有効になっているためです。

そのため、バイオス設定画面を表示させるには、この機能を無効にすればいいわけです。

手順は、
コントロールパネル - ハードウェアとサウンド - 電源オプション - 
電源ボタンの動作を選択する を選択し、
電源ボタンの定義とパスワード保護の有効化(システム設定) を開きます。


ここで、現在利用可能ではない設定を変更します をクリック

その後、シャットダウン設定 の 高速スタートアップを有効にする(推奨)
チェックをはずし変更の保存 ボタンをクリックします。

これで通常どおり、電源投入時に Delete キーなどを押すと
バイオス設定画面が表示されるようになります。


もっとも、一回だけバイオス設定画面が表示されればいい、という場合
もっと手軽な方法があります。

電源投入時ではなく、再起動時ならば Delete キーなどを押す
バイオス設定画面が表示されます。


2012年11月30日金曜日

HDDの一覧を表示するプログラム

前回に引き続き、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月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";
                }

            }
        }
    }
}



====================================



2012年11月26日月曜日

Win8 スタート画面タイルのグループ

Windows8 のスタート画面のタイルは、タイルをドラッグし
隣のタイルと隙間を開けて配置すれば、小さいサイズで偶数列づつのグループにできます。

このグループ、名前を付けたり、グループごとの場所の移動ができます。

スタート画面の右下の部分をクリックすると、タイルが縮小表示に変わります。
スタート画面で 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 は、隠しフォルダーです。


インストール先が分かったからと言って、アンインストールするのに
直接このフォルダーを削除するようなことは、行なわないでください。
必ず、コントロールパネルの プログラム - プログラムのアンインストール
を使用してください。



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 をアンインストールしてください。

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();

        }
    }
}


====================================

Win8 のジャンプリスト

Windows8 の タスクバー 上の プログラム ボタン を
右クリック すると表示されるのが、ジャンプリストです。

ちなみに、今まで右クリックで表示されていた、コンテキストメニューを表示させるには
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





2012年11月21日水曜日

Win8のタスクバーにも右端にデスクトップ表示ボタンがある

Windows7では、タスクバーの右端に、細い縦長の [デスクトップ表示] ボタンがあり
ここに、マウスカーソルをもっていき、しばらく待つと
デスクトップがプレビュー状態になり、開いているウインドウが透けました。

また、ここをクリックすると、
開いているウインドウが最小化し、デスクトップが表示され
もう一度クリックすると元に戻りました。


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;
        }
    }
}

====================================================================


2012年11月19日月曜日

コマンドライン引数を取得するプログラム

コマンドライン引数を取得する方法を確認するため、作ってみた。

起動すると

ラベル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]);
            }
        }
    }
}

=======================================================================


2012年11月18日日曜日

Win8でダウンロードしたファイルが実行できない

Windows8で、ダウンロードしたフリーソフトなどを起動すると
[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 を作成しました。");

            }
        }


    }
}


======================================================================


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 が保護されました] が表示された場合
[詳細情報] をクリック、つづいて [実行] をクリックしてください。
次回からは表示されません。



2012年11月15日木曜日

Win8起動時にデスクトップを表示する方法

追記
  下記の作業を、ワンクリックで実行するプログラムを作りました。
  詳しくは、スタートアップに [デスクトップの表示] を作成するプログラムを見てください。
---------------------------------------


Windows8を起動すると、スタートの画面が表示せれますが
現時点で私の場合、すぐ、デスクトップに表示を切り替えているのが現状です。

いっその事、最初からデスクトップを表示させられないか
調べてみたところ、いくつか方法はあるようです。

・ スタートアップに explorer.exe のショートカットを作成する。
・ スタートアップに [デスクトップの表示] を作成する。
・ タスクスケジューラを使う。
・ レジストリを編集する。
・ フリーソフト(Skip Metro Suite、StartOnDesktop 等)を使う。

今回は、スタートアップに [デスクトップの表示] を作成する方法を説明します。

この方法の場合、Windows8を起動すると、スタートの画面が一旦表示せれ
そのまま十秒位待っていると、自動的にデスクトップに表示が切り替わります。

作業手順は
まず、[デスクトップの表示] アイコンを自分で作成します。

  1. メモ帳(notepad) を起動し、以下のテキストを正確に入力(コピペ)します。


[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop


  2. [ファイル] メニューの [名前を付けて保存] をクリックして
     "デスクトップの表示.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本体の電源ボタンを押すのが一番簡単なのかな。。。
今までの慣れからすると、ちょっと怖いけど (・_・;)ゞ

2012年11月14日水曜日

Win8 でログインを自動化

Windows8 で電源投入後、ログイン画面を出さず、スタート画面を表示させる
自動サインインの設定方法

====================================

スタート画面で右クリック
右下のすべてのアプリボタンをクリック
ファイル名を指定して実行をクリック

ファイル名を指定して実行が表示されるので
名前(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;

        }

    }

 
}

-----------------------------------------------------------------------------