管理者権限を持ったユーザでログオンしても、エディタをわざわざ「管理者として実行」しないとファイル変更権限が授与されない仕様なのね。
Hosts ファイルまたは Windows Vista での Lmhosts ファイルが変更できません。
http://support.microsoft.com/kb/923947/ja
管理者権限を持ったユーザでログオンしても、エディタをわざわざ「管理者として実行」しないとファイル変更権限が授与されない仕様なのね。
Hosts ファイルまたは Windows Vista での Lmhosts ファイルが変更できません。
http://support.microsoft.com/kb/923947/ja
これってLM認証されるNAS全般で影響があるのかな・・。
セキュリティが硬くなったせいで利便性が犠牲になってますね。
[管理ツール][ローカルセキュリティポリシー]
+[ローカルポリシー][セキュリティオプション]
+[ネットワークセキュリティ:LAN Manager認証レベル]
+[LMとNTLMを送信する-ネゴシエーションの場合、NTLMv2セッションセキュリティ]
に設定を変更することでログインできました。
さて、米国での今年のサマータイムが終わったようです。(今知った)
州によって使われてなかったり、2007年の改定で期間が変わったり
ややこしいねん
リニアに流れるシンプルな時間の概念をねじ曲げる制度だと思います。
日本でのサマータイム制導入には反対の気持ちです。
(ちなみに同様の理由で日本の和暦も嫌いです。)
まぁ、それはそうとして、導入されてる国の時刻を日本時刻(JST)に変換する必要がある場合にはどうするのが適当なのでしょうか・・。
つーことで.NETFrameworkでのタイムゾーンの扱いをお勉強してみます。
.NET2.0以前と.NET3.5では推奨される手順が異なるようですね。どうやら度重なる制度改定に柔軟に対応するためにTimeZoneクラスが改良されTimeZoneInfoとなったようです。
ここでは.NET3.5のTimeZoneInfoを使ってみます。
まずはタイムゾーンの一覧で使いたい地域を確認
For Each tzItem As TimeZoneInfo In TimeZoneInfo.GetSystemTimeZones
Debug.WriteLine(tzItem.Id & vbTab & tzItem.DisplayName)
Next
アメリカ東部標準時間(EST)→日本時間(JST)への変換
Private Function ESTtoJST(ByVal d As Date) As Date
Dim EST As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Dim JST As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time")
Return TimeZoneInfo.ConvertTime(d, EST, JST)
End Function
思ったより簡単にできましたね。でも、この仕様になるまで紆余曲折を思うと頭の下がる思いですね。過去にこんな記事もあったみたい。↓
ディベロッパー製品開発統括部 Blog
日本における時差のシナリオに関してご意見をお聞かせください
http://www.exconn.net/Blogs/team01/archive/2006/07/21/15292.aspx
もっとも手抜きにDDEコールバックでRSSから株価を拾ってみる。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ddeinst As UInteger
Dim pfnCallback = New DdeDelegate(AddressOf DdeCallback)
DdeInitialize(ddeinst, pfnCallback, CBF_SKIP_REGISTRATIONS, 0)
Dim hszServiceName = DdeCreateStringHandle(ddeinst, "RSS", CP_WINANSI)
Dim hszTopicName = DdeCreateStringHandle(ddeinst, "2753.T", CP_WINANSI)
Dim hszItemName = DdeCreateStringHandle(ddeinst, "現在値", CP_WINANSI)
Dim hconv = DdeConnect(ddeinst, hszServiceName, hszTopicName, Nothing)
DdeClientTransaction(Nothing, 0, hconv, hszItemName, CF_TEXT, XTYP_ADVSTART, 9999, Nothing)
End Sub
Public Function DdeCallback(ByVal uType As Integer, ByVal uFmt As Integer, ByVal hConv As IntPtr, ByVal hsz1 As IntPtr, ByVal hsz2 As IntPtr, ByVal hData As IntPtr, ByVal dwData1 As IntPtr, ByVal dwData2 As IntPtr) As IntPtr
If uType = XTYP_ADVDATA Then
Dim data = DdeAccessData(hData, Nothing)
MsgBox(data)
End If
End Function
ほんとは各種ハンドルの解放とかエラー処理が必要ですが、基本これだけ。
あと、API利用のために以下も必要です。
Public Const CBF_SKIP_REGISTRATIONS As Integer = &H80000
Public Const CF_TEXT As Integer = 1
Public Const CP_WINANSI As Integer = 1004
Public Const DDE_FACK As Integer = &H8000
Public Const XTYP_ADVDATA As Integer = &H4010
Public Const XTYP_ADVSTART As Integer = &H1030
Public Const XTYP_ADVSTOP As Integer = &H8040
Public Delegate Function DdeDelegate(ByVal uType As Integer, ByVal uFmt As Integer, ByVal hConv As IntPtr, ByVal hsz1 As IntPtr, ByVal hsz2 As IntPtr, ByVal hData As IntPtr, ByVal dwData1 As IntPtr, ByVal dwData2 As IntPtr) As IntPtr
<DllImport("user32.dll", EntryPoint:="DdeInitialize", CharSet:=CharSet.Ansi)> _
Public Shared Function DdeInitialize(ByRef pidInst As UInteger, ByVal pfnCallback As DdeDelegate, ByVal afCmd As UInteger, ByVal ulRes As UInteger) As UInteger
End Function
<DllImport("user32.dll", EntryPoint:="DdeConnect", CharSet:=CharSet.Ansi)> _
Public Shared Function DdeConnect(ByVal idInst As UInteger, ByVal hszService As IntPtr, ByVal hszTopic As IntPtr, ByVal pCC As IntPtr) As IntPtr
End Function
<DllImport("user32.dll", EntryPoint:="DdeCreateStringHandle", CharSet:=CharSet.Ansi)> _
Public Shared Function DdeCreateStringHandle(ByVal idInst As UInteger, ByVal psz As String, ByVal iCodePage As Integer) As IntPtr
End Function
<DllImport("user32.dll", EntryPoint:="DdeAccessData", CharSet:=CharSet.Ansi)> _
Public Shared Function DdeAccessData(ByVal hData As IntPtr, ByRef pcbDataSize As UInteger) As String
End Function
<DllImport("user32.dll", EntryPoint:="DdeClientTransaction", CharSet:=CharSet.Ansi)> _
Public Shared Function DdeClientTransaction(ByVal pData As IntPtr, ByVal cbData As UInteger, ByVal hConv As IntPtr, ByVal hszItem As IntPtr, ByVal wFmt As UInteger, ByVal wType As UInteger, ByVal dwTimeout As UInteger, ByRef pdwResult As UInteger) As IntPtr
End Function
参照アセンブリ "***.dll" は、現在のターゲット フレームワーク ".NETFramework,Version=v4.0,Profile=Client" 内にない "System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" に依存するため、解決できませんでした。
上記エラーで毎回はまるのでメモ
[詳細コンパイルオプション][対象のフレームワーク(すべての構成)]が .NET Framework 4 Client Profile になっている場合にはSystem.Webが見つからない。(デフォルトで Client Profile になっている)
.NET Framework 4 に変更すればコンパイルが通る。
なぜClient ProfileでSystem.Webを使えなくしたのか、その理由は想像し納得できるのだが、HttpUtilityなどのツール類は別クラスに移動してほしい気もする・・。
というかその方向で考えます的な議論がされているらしい。(1年前だが・・
Introducing the .NET Framework Client Profile - Troy Martez's Weblog
http://blogs.windowsclient.net/trickster92/archive/2008/05/21/introducing-the-net-framework-client-profile.aspx
Windows 7 VL版のライセンス認証のメモ
「Windowsのライセンス認証手続きを行えませんでした
キー管理サービス(KMS)ホストがドメインネームシステム(DNS)に見つかりませんでした。」
以下コマンドでライセンスキーを登録すればOK
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
Windows Vista Enterprise、Windows Vista Business、または Windows Server 2008 のライセンス認証を行おうとすると、エラー メッセージ "コード 0x8007232b" が表示される
http://support.microsoft.com/kb/929826/ja
さて、今日はCME日経225先物のデータ取得について。
URLはこれ
http://www.cmegroup.com/CmeWS/md/MDServer/
V1/Venue/G/Exchange/XCME/FOI/FUT/Product/NIYH0
URL末尾は先物でおなじみの限月ですね。
中身はおなじみJSON形式ですね。
おためしあれ。
最近のコメント
Hiromi at 08.24
Hiromi at 08.24
sippofactory at 08.21
Hiromi at 08.20
sippofactory at 08.05
Hiromi at 08.05
sippofactory at 08.04
Hiromi at 08.04
sippofactory at 08.01