SEGA 在 Steam 推出懷舊電玩特賣

 

2010 年 6 月 2 日,SEGASteam 上推出 11 款 SEGA MD 時期的懷舊電玩,每款只要 2.99 米金(除了音速小子 3D 是 4.99),試圖再搶劫感動一次骨灰遊戲迷們。如果想一次懷舊個夠,也有套件包可供選購!

這次推出的懷舊遊戲有(括號內為台版譯名):

Gain Gound™(大地槍聲)

Gain Ground 大地槍聲
延伸閱讀:【問題】請問有人聽過GAIN GROUND嗎? @ 往日遊戲 哈啦板 – 巴哈姆特

Space Harrier II™(太空哈利2)

Space Harrier II 太空哈利2
延伸閱讀:現在是懷舊的年代了!Virtual Console老遊戲精選推介

Sonic 3D Blast™(音速小子3D)

Sonic 3D Blast 音速小子3D
延伸閱讀:Sonic 3D – Wikipedia

Vectorman™(粒子戰士)

Vectorman 粒子戰士
延伸閱讀:Still Gaming Reviews Vectorman – YouTube

Shinobi™ III: Return of the Ninja Master (超級忍)

Shinobi III 超級忍
延伸閱讀:061的貼貼貼寫: SEAGA MD – Shinobi III 超級忍

Ecco the Dolphin™(海豚大冒險)

Ecco The Dolphin 海豚大冒險
延伸閱讀:Ecco The Dolphin – Wikipedia

Shadow Dancer™(影舞者)

Shadow Dancer 影舞者
延伸閱讀:Shadow Dancer – Wikipedia

Golden Axe™(戰斧)

Golden Axe 戰斧
延伸閱讀:游戏编年史——历代记——战斧Golden Axe(家用移植版)

Comix Zone™(作戰領域)

Comix Zone 作戰領域
延伸閱讀:SEGA MD 遊戲回顧—「Comix Zone」 – GAME!! 遊戲綜合討論 – PALMisLIFE 掌上生活討論區

Altered Beast™(獸王記)

Altered Beast 獸王記
延伸閱讀:[達人專欄] 【MD】化身野獸 - 獸王記 – melody20410 的部落閣 – 巴哈姆特

Crack Down™(爆裂激戰)

Crack Down 爆裂激戰
延伸閱讀:Crack Down – Wikipedia

黃明志「我要回家」求助啟示

不愧是念傳播的,懂得利用媒體平台來自我行銷!加油啊!

[C#] KMClear – 鍵鼠清潔輔助器

首先,這不是能自動幫你清潔鍵鼠的工具 XD
它只是鎖定鍵盤滑鼠讓你在開機的時候可以清潔而已

KMClear - 鍵鼠清潔輔助器

支援平台:Windows 7, 2008, XP, 2003
環境需求:.Net FrameWork 3.5
檔案下載:KMClear.exe(11KB)
源碼下載:KMClear.zip(112KB – Visual C# 2008 Express)

這類程式有兩個重點要處理,一個是全螢幕執行,另一個就是鍵盤攔截。
全螢幕執行比較簡單,完全不需要 API:

  1. private void Form1_Load(object sender, EventArgs e)
  2. {
  3.     this.SetVisibleCore(false);
  4.     this.FormBorderStyle = FormBorderStyle.None;
  5.     this.Left = (Screen.PrimaryScreen.Bounds.Width / 2 - this.Width / 2);
  6.     this.Top = (Screen.PrimaryScreen.Bounds.Height / 2 - this.Height / 2);
  7.   this.SetVisibleCore(true);
  8. }

另一個則是需要借助 Low-level API 的鍵盤攔截:

  1. using System;
  2. using System.Diagnostics;
  3. using System.Runtime.InteropServices;
  4.  
  5. namespace KMClear
  6. {
  7.     internal class HookAPI
  8.     {
  9.         /* API Assign */
  10.         [DllImport("user32.dll", SetLastError = true)]
  11.         public static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, uint threadId);
  12.  
  13.         [DllImport("user32.dll", SetLastError = true)]
  14.         public static extern bool UnhookWindowsHookEx(IntPtr idHook);
  15.  
  16.         [DllImport("user32.dll", SetLastError = true)]
  17.         public static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, IntPtr wParam, IntPtr lParam);
  18.  
  19.         [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
  20.         private static extern IntPtr GetModuleHandle(string lpModuleName);
  21.  
  22.         public delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);
  23.  
  24.         private static IntPtr hKeyboardHook = IntPtr.Zero;
  25.         private HookProc KeyboardHookProcedure;
  26.  
  27.         private const int WH_KEYBOARD_LL = 13;
  28.         private const int WM_KEYDOWN = 0x0100;
  29.  
  30.         /// <summary>
  31.         /// Start Keyboard Hook Process
  32.         /// </summary>
  33.         public void HookStart()
  34.         {
  35.             if (hKeyboardHook == IntPtr.Zero)
  36.             {
  37.                 using (Process curProcess = Process.GetCurrentProcess())
  38.                 {
  39.                     using (ProcessModule curModule = curProcess.MainModule)
  40.                     {
  41.                         KeyboardHookProcedure = new HookProc(KeyboardHookProc);
  42.                         hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(curModule.ModuleName), 0);
  43.                         if (hKeyboardHook == IntPtr.Zero)
  44.                         {
  45.                             HookStop();
  46.                             throw new Exception("SetWindowsHookEx failed.");
  47.                         }
  48.                     }
  49.                 }
  50.             }
  51.         }
  52.  
  53.         /// <summary>
  54.         /// Stop Keyboard Hook Process
  55.         /// </summary>
  56.         public void HookStop()
  57.         {
  58.             bool retKeyboard = true;
  59.             if (hKeyboardHook != IntPtr.Zero)
  60.             {
  61.                 retKeyboard = UnhookWindowsHookEx(hKeyboardHook);
  62.                 hKeyboardHook = IntPtr.Zero;
  63.             }
  64.             if (!(retKeyboard)) throw new Exception("UnhookWindowsHookEx failed.");
  65.         }
  66.  
  67.         /// <summary>
  68.         /// Keyboard Hook Process
  69.         /// </summary>
  70.         /// <param name="nCode"></param>
  71.         /// <param name="wParam"></param>
  72.         /// <param name="lParam"></param>
  73.         /// <returns></returns>
  74.         private IntPtr KeyboardHookProc(int nCode, IntPtr wParam, IntPtr lParam)
  75.         {
  76.             if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
  77.             {
  78.                 int vkCode = Marshal.ReadInt32(lParam);
  79.                 Console.WriteLine((System.Windows.Forms.Keys)vkCode);
  80.                 return new IntPtr(1);
  81.             }
  82.             return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);
  83.         }             
  84.  
  85.     }
  86. }

太極功夫就是神!

這個惡搞得太靠盃了 XD

這個套招得還不錯…

但是這個最精彩!

Windows 7 之大家來找碴

這幾天在寫 VPN 撥號器的時候要一直在 Windows 7 測試路由規則是否正確,所以猛 ping,沒想到讓我發現了錯字 XD
由此可見微軟的中文化團隊是用注音輸入法沒錯(誤)


Windows 7 32Bit Ultimate Edition

Pages: Prev 1 2 3 4 5 6 7 8 ...96 97 98 Next

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.