課題で人感センサーを使って、ウィンドウズをロックするプログラムを作成しようとしています(8/31には提出)
ですが、プログラミングは始めたばかりで、先生からのレクチャーも一切ありません・・・
なので、簡単なプログラムの作り方もよく分かりません
1から学ぶ時間はないと思ったので
似たプログラムをネットで見つけて、それを少し変えて完成にしようと思っています
↓のプログラムは、人感センサー(I-OデータのSENSOR-HM/ECO) で 着席/離席 を判断するので、その情報を受け取り、
新しいウィンドウに
着席してるときは「います」
離席してるときは「いません」
と表示させるプログラムです
このプログラムは実行できました
visual studio の C# ですがちゃんと表示できていますか?
どれを載せればいいかわからないので1つだけ載せました
他コードは↓のサイトにあります
お手数ですがそちらをご覧ください
http://code.msdn.microsoft.com/C-Window ... -fa51d9a0/
↓のcodeのif文の中でlockworkstationを使えばいいのだと思い
lockworkstationを使っている他のプログラムを探して参考にしました
参照設定でuser32.dllを追加しようとしたら
「ファイルがアクセス可能で、有効なアセンブリまたはCOMコンポーネントであることを確認してください」
と出ました
これの解決方法が分かりません
どうすればlockworkstationを使えるのか
どうやって、どこでlockworkstationを使うのか
を教えてください
また、こうしたほうがいい、などのアドバイスがありましたら
書き込んでください
お願いします
OSはwindows7
開発環境はvisual studio 2010 C#
です
code Window1.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.WindowsAPICodePack.Sensors;
namespace WpfAppliHumidity
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// Human Presenceセンサーの取り出し
var humanPresence =
SensorManager.GetSensorsByTypeId<HumanPresence>().First();
// イCベントハンドラーの登録^
humanPresence.DataReportChanged +=
new DataReportChangedEventHandler(humidity_DataReportChanged);
}
void humidity_DataReportChanged(Sensor sender, EventArgs e)
{
HumanPresence humanPresence = sender as HumanPresence;
this.Dispatcher.BeginInvoke(
new UpdateWindowDelegator(UpdateWindow),
new object[] { humanPresence.Presence });
}
private delegate void UpdateWindowDelegator(bool presence);
private void UpdateWindow(bool presence)
{
if (presence)
{
// Presenceがtrue、つまり、"いる"とき
tbExist.Opacity = 1;
tbUnexist.Opacity = 0;
}
else
{
// Presenceがfalse、つまり、"いない"とき
tbExist.Opacity = 0;
tbUnexist.Opacity = 1;
}
}
}
}