不愧是念傳播的,懂得利用媒體平台來自我行銷!加油啊!
httpvh://www.youtube.com/watch?v=VTwX1jTQku8
不愧是念傳播的,懂得利用媒體平台來自我行銷!加油啊!
httpvh://www.youtube.com/watch?v=VTwX1jTQku8
首先,這不是能自動幫你清潔鍵鼠的工具 XD
它只是鎖定鍵盤滑鼠讓你在開機的時候可以清潔而已

支援平台:Windows 7, 2008, XP, 2003
環境需求:.Net FrameWork 3.5
檔案下載:KMClear.exe(11KB)
源碼下載:KMClear.zip(112KB – Visual C# 2008 Express)
這類程式有兩個重點要處理,一個是全螢幕執行,另一個就是鍵盤攔截。
全螢幕執行比較簡單,完全不需要 API:
private void Form1_Load(object sender, EventArgs e)
{
this.SetVisibleCore(false);
this.FormBorderStyle = FormBorderStyle.None;
this.Left = (Screen.PrimaryScreen.Bounds.Width / 2 - this.Width / 2);
this.Top = (Screen.PrimaryScreen.Bounds.Height / 2 - this.Height / 2);
this.SetVisibleCore(true);
}
另一個則是需要借助 Low-level API 的鍵盤攔截:
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
namespace KMClear
{
internal class HookAPI
{
/* API Assign */
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr hInstance, uint threadId);
[DllImport("user32.dll", SetLastError = true)]
public static extern bool UnhookWindowsHookEx(IntPtr idHook);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr CallNextHookEx(IntPtr idHook, int nCode, IntPtr wParam, IntPtr lParam);
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern IntPtr GetModuleHandle(string lpModuleName);
public delegate IntPtr HookProc(int nCode, IntPtr wParam, IntPtr lParam);
private static IntPtr hKeyboardHook = IntPtr.Zero;
private HookProc KeyboardHookProcedure;
private const int WH_KEYBOARD_LL = 13;
private const int WM_KEYDOWN = 0x0100;
///
/// Start Keyboard Hook Process
///
public void HookStart()
{
if (hKeyboardHook == IntPtr.Zero)
{
using (Process curProcess = Process.GetCurrentProcess())
{
using (ProcessModule curModule = curProcess.MainModule)
{
KeyboardHookProcedure = new HookProc(KeyboardHookProc);
hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardHookProcedure, GetModuleHandle(curModule.ModuleName), 0);
if (hKeyboardHook == IntPtr.Zero)
{
HookStop();
throw new Exception("SetWindowsHookEx failed.");
}
}
}
}
}
///
/// Stop Keyboard Hook Process
///
public void HookStop()
{
bool retKeyboard = true;
if (hKeyboardHook != IntPtr.Zero)
{
retKeyboard = UnhookWindowsHookEx(hKeyboardHook);
hKeyboardHook = IntPtr.Zero;
}
if (!(retKeyboard)) throw new Exception("UnhookWindowsHookEx failed.");
}
///
/// Keyboard Hook Process
///
///
///
///
///
private IntPtr KeyboardHookProc(int nCode, IntPtr wParam, IntPtr lParam)
{
if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN)
{
int vkCode = Marshal.ReadInt32(lParam);
Console.WriteLine((System.Windows.Forms.Keys)vkCode);
return new IntPtr(1);
}
return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);
}
}
}
這個惡搞得太靠盃了 XD
httpvh://www.youtube.com/watch?v=0W1ym3yggR4
這個套招得還不錯…
httpvh://www.youtube.com/watch?v=mQVqpeRFGvE
但是這個最精彩!
httpvh://www.youtube.com/watch?v=N59EH_4lxyk
這幾天在寫 VPN 撥號器的時候要一直在 Windows 7 測試路由規則是否正確,所以猛 ping,沒想到讓我發現了錯字 XD
由此可見微軟的中文化團隊是用注音輸入法沒錯(誤)
![]()
—
Windows 7 32Bit Ultimate Edition
公司需要一個能隨時監看 8591 行情表和交易情形的工具,所以就寫了這個小程式。
運作上大多數都是利用 HttpWebRequest 擷取 HTML 後再使用 Regex 分析所需要的數據即可,不過在會員登入上另外需要 CookieContainer 的配合才能達成。
至於驗證碼也是一樣用 HttpWebRequest 取得後再輸出 Bitmap 並取得驗證碼的 Session 值即可。
最後再加上擷取台灣銀行牌告匯率的資訊來計算匯率比值就收工了!
/// <summary>
/// Cookie Container
/// </summary>
public static CookieCollection mc = new CookieCollection();
public static CookieContainer myContainer = new CookieContainer();
/// <summary>
/// Get or Set the cookie header
/// </summary>
/// <returns>CookieHeader</returns>
public static string CookieHeader
{
get { return _cookieHeader; }
set { _cookieHeader = value; }
}
/// <summary>
/// Processing 8591.com.tw user login
/// </summary>
/// <param name="accounts">User Account</param>
/// <param name="pwd">User Password</param>
/// <param name="verify">Verify Code</param>
/// <returns>Bool</returns>
public static bool LoginTo8591(string accounts, string pwd, string verify)
{
string param = "accounts=" + accounts + "&pwd=" + pwd + "&verifyCode=" + verify + "&action=userLogin&saveAccounts=0&imageField2=";
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(login_url);
byte[] bs = Encoding.UTF8.GetBytes(param);
/* 將 Cookie Header 指派給 HttpWebRequest 並寫入其值 */
req.CookieContainer = new CookieContainer();
req.Headers.Add("cookie", CookieHeader);
req.CookieContainer.SetCookies(new Uri(login_url), CookieHeader);
req.Method = "POST";
req.AllowAutoRedirect = false;
req.KeepAlive = false;
req.ProtocolVersion = HttpVersion.Version10;
req.Headers.Add("Pragma", "no-cache");
req.ContentType = "application/x-www-form-urlencoded";
req.Referer = "https://www.8591.com.tw/index.php?module=user&action=login";
req.ContentLength = bs.Length;
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.1124)";
req.Timeout = 10000;
/* 強制通過 HTTPS 驗證 */
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(RemoteCertificateValidationCallback);
try
{
using (resp = (HttpWebResponse)req.GetResponse())
{
...... 略 ......
}
}
catch ( Exception )
{
...... 略 ......
}
}
/// <summary>
/// Passing SSL authorize
/// </summary>
/// <returns>Bool</returns>
public static bool RemoteCertificateValidationCallback(Object sender, X509Certificate certificate, X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
return true;
}





超・ちゃぶ台返し!
httpvh://www.youtube.com/watch?v=0OBokzM9QdU
好有梗的大型電玩啊 XD
總共有四個關卡:客廳、婚宴、俱樂部和辦公室,還有七個配角,每個關卡都有故事性可以讓你融入翻桌的情緒,而分數高低取決於破壞物品的總金額還有最遠飛行距離…
日本人真是太有才了!
延伸閱讀: