2010年12月16日 星期四

Life (Garry Schyman - Praan)

我很喜歡的一支Video,尤其他的配樂~~

2010年12月14日 星期二

程式碼貼文

關於文章貼程式碼的排版問題解決了,這是要用到CSS技巧,雖然我不曉得它的原理,反正照著網路上文章的SOP流程作完就OK了。

相關聯結:
  1. 在blog中顯示程式碼區(code block)
  2. [CSS] A Cool blockquote for "Code style" and some blogging tips
  3. 用CSS顯示程式碼
  4. 如何在Blog中顯示程式碼
  5. 如何在 blog 張貼程式碼

測試:

Private Sub SayHello()
Messbox ("Hello World")
End Sub


目前用的CSS樣版:
code {
display:block;
overflow:auto;
font-family:"Courier New";
white-space:pre;
background:#0F0F0F;
border:3px solid #CCC;
margin:5px 15px 0;
padding:5px 5px 5px 20px;
line-height:1.2em;
max-height:500px;
width:90%;
}

但還有一個問題,要如何修改文字前景顏色? 不過這不急,有空再研究~

2010年12月13日 星期一

"A物件的Event"內 引用 "B物件方法" 之技巧

在VB6時代,在簡單不過的事情,跑到.NET就變得麻煩,主要是programmer必須更注意執行緒之間相互引用介面的問題,反正就是A執行許要引用B執行續的服務,要透過一些技巧,Delegate是其中之一

留個記錄:
物件_reader的 event - TagRead 不能直接引用lstl.Items.Add方法,須透過Delegate技巧





Delegate Sub ShowTagCode(ByVal msg As String)

Private Sub ShowTagCodeOnLst(ByVal msg As String)
lst.Items.Add(msg)
End Sub

Private Sub _reader_TagRead(ByVal tags() As GAORFID.Tag) Handles _reader.TagRead
Dim i As Integer

For i = 0 To tags.Length - 1
If lst.InvokeRequired Then
Dim d As New ShowTagCode(AddressOf ShowTagCodeOnLst)
Try
Me.Invoke(d, New Object() {tags(i).ID})
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
lst.Items.Add(tags(i).ID)
End If
Next
End Sub

JNI (Java Native Interface) 注意事項

當移動 JNI class後,必須重新編譯一次表頭檔(.h)宣告,否則將來載入dll時,執行階段會出現找不到相對用的function名稱的錯誤訊息。

留個記錄:
注意package路徑




package com.jpos.MSR250SO;

public class KeyboardHookdll
{
static
{
System.loadLibrary("JposKeyHook");
}

public native boolean installhook();
public native boolean unhook();
public native void ClearKeyboardHookData();
public native byte[] getKeyboardHookData();
}


表頭檔function 名稱要能相對



/* DO NOT EDIT THIS FILE - it is machine generated */
#include
/* Header for class com_jpos_MSR250SO_KeyboardHookdll */

#ifndef _Included_com_jpos_MSR250SO_KeyboardHookdll
#define _Included_com_jpos_MSR250SO_KeyboardHookdll
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_jpos_MSR250SO_KeyboardHookdll
* Method: installhook
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_com_jpos_MSR250SO_KeyboardHookdll_installhook
(JNIEnv *, jobject);

/*
* Class: com_jpos_MSR250SO_KeyboardHookdll
* Method: unhook
* Signature: ()Z
*/
JNIEXPORT jboolean JNICALL Java_com_jpos_MSR250SO_KeyboardHookdll_unhook
(JNIEnv *, jobject);

2010年11月10日 星期三

莊孝維的 System Hooks

原來 hook driver沒法被console application呼叫始用,從頭到尾都沒錯誤訊息,hook process就是進不來,浪費了我一整天時間測試,Windows Form就沒問題。

How To Hook Console Applications and the Desktop

Under Windows NT, system hooks are limited in two situations: hooking console windows and hooking the desktop.

Because of the current design of the console and the fact that its user interface runs in the Win32 server, Windows NT does not support hook calls in the context of console applications. Thus, if application A sets a system-wide input hook and text is typed in a console window, application A's input hook will not be called. The same is true for every type of Windows hook except for journal record and journal playback hooks.

2010年10月24日 星期日

B&G 1725 波爾多 (Average - Very Good)

Costco買的,價格NT399...


梅洛,卡本內蘇維翁,建議醒酒30分鐘,但此時喝,口感淡如水,風味生硬,只有average...



第60分鐘,生硬的風味化開來,酸澀浮現,開始活了起來,鼻韻也開始感受到香氣,但單寧不夠細緻,酸味過強,香氣味仍弱,average and half...


中午失望滴喝完一半後,晚上再拿來喝,再經過約40分鐘醒酒後,整體香氣強烈滴浮現,鼻韻充滿覆盆莓、黑醋栗果香氣息,酸味和單寧皆轉變為柔順,口感也更為圓潤,不輸NT899紅酒,非常超值 (Very Good)~~

2010年10月19日 星期二

ThreadPool 多工好幫手

留個記錄:

Imports System.Threading

Dim callBack As New WaitCallback(AddressOf ProcessDeviceDataThread)

ThreadPool.QueueUserWorkItem(callBack)

Private Sub ProcessDeviceDataThread(ByVal obj As Object)
While True
Threading.Thread.Sleep(10)
'do something or then exit
End While
End Sub