- PR -

【VB.NET】WindowsCE.NETのシステム日付を変更したい

1
投稿者投稿内容
Fe
会議室デビュー日: 2004/02/26
投稿数: 5
投稿日時: 2004-02-27 14:31
VB.NETでスマートデバイスアプリケーションをメイクしています。
デバイスはWindowsCE.NET エミュレータを使用しています。
ボタンクリックイベント時に、システム日付を変更したいのですが上手くいきません。

Windowsアプリケーションだと
「DateString = "2004/3/20"」や
「DateString = New Date(2004, 2, 1)」で、変更できるのですが
スマートデバイスアプリケーションで同じコードを書いても、エラーが発生して変更できません。

アプリケーションから、WindowsCE.NETのシステム日付の変更はできないのでしょうか?
何か良い方法があれば、御教授願います。
宜しくお願い致します。


[ メッセージ編集済み 編集者: Fe 編集日時 2004-02-27 14:31 ]
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-02-28 03:31
諸農です。

PocketPC SDKはお持ちですよね?
現段階では、SetSystemTime()が定石かと思います。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Fe
会議室デビュー日: 2004/02/26
投稿数: 5
投稿日時: 2004-03-01 17:08
諸農さん、御教授ありがとうございます。
API関数のSetSystemTimeを使用してみました。

'標準モジュール
Public Declare Function SetSystemTime Lib "kernel32" (ByVal lpSystemTime As SYSTEMTIME) As Long

Public Structure SYSTEMTIME
Dim wYear As Integer '年(西暦)
Dim wMonth As Integer '月
Dim wDayOfWeek As Integer '曜日
Dim wDay As Integer '日
Dim wHour As Integer '時
Dim wMinute As Integer '分 
Dim wSecond As Integer '秒
Dim wMilliseconds As Integer 'ミリ秒
End Structure

'フォーム内の処理
  Dim SysTime As SYSTEMTIME
  Dim Ret As Long

   SysTime.wYear = 2004
   SysTime.wMonth = 3
   SysTime.wDay = 1
   SysTime.wHour = 0
   SysTime.wMinute = 0
   SysTime.wSecond = 0

   Ret = SetSystemTime(SysTime)

上記コードの最終行で"NotSupportedException"が発生するのですが
これはやはり、PocketPC SDKがインストールされていないからでしょうか?
初歩的な質問で申し訳ありません。



[ メッセージ編集済み 編集者: Fe 編集日時 2004-03-01 17:39 ]
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-03-02 10:30
諸農です。

PocketPCにkernel32.dllって存在していなかったと。。(^_^;

引用:

上記コードの最終行で"NotSupportedException"が発生するのですが
これはやはり、PocketPC SDKがインストールされていないからでしょうか?
初歩的な質問で申し訳ありません。



インストールされているいないということではなく(^^ゞ
開発をするのであれば、調査するにしても実装の方針を決めるにしても、
SDKを見るということは最低限必要なことだと思います。

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
Fe
会議室デビュー日: 2004/02/26
投稿数: 5
投稿日時: 2004-03-02 17:53
私の調査不足でした。
kernel32.dllではなくて、Coredll.dllですね。
御教授下さってありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)