2015年9月30日 星期三

Embedded Core in Touch

English
========================================================================

TabletPC-Platform-Input-Core (Standard 8 Module Reference)

7/8/2014
Review the settings, dependencies and any notes for the TabletPC-Platform-Input-Core section of the Embedded Core module in the Windows Embedded 8 Standard (Standard 8) module catalog.
These settings include support for touch-screen interfaces through both single and multiple touch points.

Settings

This module includes the following settings.

Notes

Windows Embedded 8 Standard (Standard 8) supports the following Touch scenarios:
  • Full Touch, which is the full Windows 8 touch experience.
  • Legacy Touch, in which the touch experience is similar to the full Windows 8 touch experience with the following exceptions:
    • Windows edge UI values are adjusted to relax edge triggering from 1 pixel to 20 pixels to better accommodate finger swipes from the edges of the display. 
    • There is no Windows touch prediction that provides faster, crisper interaction.
    • There is no ability to swipe to reveal accent keys on the Windows On-Screen keyboard.
Touch Hardware Quality Assurance (THQA) is used to allow or prevent a full touch experience on a device. To have a full touch experience, touch devices must meet the Windows Hardware Certification Requirements. Touch vendors can use Microsoft testing facilities, the Windows Touch Test Lab, to certify that the touch quality of a device meets these certification requirements. A touch input device that complies with the requirements receives a THQA signature in the device firmware to show certification. For more information about the Windows Touch Test Lab, see this MSDN website: http://msdn.microsoft.com/en-us/library/windows/hardware/hh872970.
The following table shows how the Touch experience is based on THQA certification:

Product
THQA certified
Not THQA certified
Standard 8
Full Touch
Legacy Touch
Windows Embedded Enterprise (FES)
Full Touch
Legacy Touch with external monitor*
No Touch support with internal monitor*
* Monitors are identified as internal or external via the D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY member of the DXGK_VIDEO_OUTPUT_CAPABILITIES which is reported within the DXGK_CHILD_CAPABILITIES as a result of the DxgkDdiQueryChildRelatios DDI call.



Reference: TabletPC-Platform-Input-Core (Standard 8 Module Reference)
                  D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY
                  DXGK_VIDEO_OUTPUT_CAPABLITIES



中文
========================================================================
有關 Windows 8 Touch 相關問題,參考了MSDN上的文件,做個簡單的整理如下表:

Product
THQA certified
Not THQA certified
Standard 8
Full Touch
Legacy Touch
Windows Embedded Enterprise (FES)
Full Touch
Legacy Touch with external monitor*
No Touch support with internal monitor*
可以發現微軟把 Touch 分成兩種,
1. Full Touch:擁有 Windows 8 使用經驗
2. Legacy Touch:相似於 Full Touch,但是擁有以下的例外
          - 當指頭從螢幕邊緣滑進來的偵測從 1pixel 變成 20 pixels
          - 沒有提供快速、互動式的聯想輸入法
          - 沒有提供語氣加強符號在螢幕小鍵盤中

THQA 認證為微軟所提供,主要是確保 Touch vendor 所提供的 touch 能相容於 Windows。

判斷內部與外部螢幕,由 D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY 的參數所決定,以下有附上相關連結參考。




Reference: TabletPC-Platform-Input-Core (Standard 8 Module Reference)
                  D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY
                  DXGK_VIDEO_OUTPUT_CAPABLITIES


2015年9月24日 星期四

C# Create library (*.dll) and reference 建立程式庫和使用

English
========================================================================
We meet some problem that when we want to reference some library in our solution. I think that is library export problem, so I decide to re-create the library. Here is some example as below.

1. Create library. Open the Visual Studio and select "Class Library"


2. Create function.



3. Create the application.


4. Add Reference in solution.


5. Select the library which you built.


6. Add "using ClassLibrary1;" in code.


7. You can use the reference function now.




中文
========================================================================
最近遇到一個問題是使用標準 C 語言產生的程式庫,會無法透過 reference 加入到專案中,懷疑是 C 語言在 export 的時候出了問題,因此使用 Class 重新建立程式庫,以下為參考範例:

1. 建立程式庫,開啟 Visual Studio 並選擇 "Class Library"


2. 建立所需要的 function


3. 建立應用程式


4. 新增參考,在專案欄中,在 References 上,按下滑鼠右鍵,選擇 "Add Reference..."


5. 新增參考,選擇 "Browse",並選取剛剛產生的程式庫


6. 新增程式庫進專案中,添加 "using ClassLibrary1;" 至程式碼中


7. 使用程式庫 function





2015年9月17日 星期四

C# Run application require administrator authorization 應用程式以管理員身分執行

English
========================================================================
We know that Microsoft add User Account Control in Windows Vista or later. We have some problem that some application needs run with administrator authorization. We will make an example to tell you how to make sure the application with administrator authorization.

1. Mouse right click on "Project" -> "Add" -> "New Item"


2. Select "Application Manifest File"


3. Find the string "asInvoker"


4. Replace the string from "asInvoker" to "requireAdministrator"


5. You will see the shield icon at right down.




中文
========================================================================
有些程式,需要使用管理者權限才能使用,但有時候會忘記使用管理者權限來執行,如何避免此問題,讓每次執行程式都詢問是否要用管理者權限執行。

1. 在專案中,按下滑鼠右鍵,選擇 "Add" -> "New Item .."



2. 選擇 "Application Manifest File"


3. 找到 "asInvoker" 的字樣


4. 替換 "asInvoker" 為 "requireAdministrator"


5. 發現程式圖案右下角,多了一個盾牌的圖案


OS Operating System 作業系統 恐龍書 筆記分享

發現一個作業系統說明的網站, 對於 process vs thread, semaphore vs mutex, deadlock 說明很詳細, 有興趣的人可以去以下的網頁逛逛。 附上網址連結: link   link2