C# 全局快捷键定义 隐藏显示窗体
项目中摘取的利用全局快捷键显示和隐藏窗体的demo示例
本文件是C#代码片断 public Form1() { InitializeComponent(); } int i = 0; int j = 0; string[] proxys; #region 改变代理 [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength); /// public void RefreshIESettings(string strProxy) { const int INTERNET_OPTION_PROXY = 38; const int INTERNET_OPEN_TYPE_PROXY = 3; Struct_INTERNET_PROXY_INFO struct_IPI; // Filling in structure struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); // Allocating memory IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); // Converting structure to IntPtr Marshal.StructureToPtr(struct_IPI, intptrStruct, true); bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); } #endregion private void Form1_Load(object sender, EventArgs e) { proxys = File.ReadAllLines("C:/proxy.txt"); } private void timer1_Tick(object sender, EventArgs e) { if (i < proxys.Length) { label2.Text = proxys[i]; label9.Text = i.ToString(); label3.Text = "waiting..."; RefreshIESettings(proxys[i]); webBrowser1.Navigate("http://www.imwq.net"); timer1.Enabled = false; i++; } else { timer1.Enabled = false; button1.Text = "结束"; } } private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { label3.Text = "ok..."; timer1.Enabled = true; } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } } struct Struct_INTERNET_PROXY_INFO { public int dwAccessType; public IntPtr proxy; public IntPtr proxyBypass; };
利用VBA实现对比数据计算分布,对VBA初学者是很好的借鉴。 部分代码如下: Dim rng As Range, tp As Range, arr, i As Long, j As Long Set rng = Range("S2:AD" & Cells(Rows.Count, "S").End(xlUp).Row) arr = rng For i = 2 To UBound(arr, 1) For j = 2 To UBound(arr, 2) If arr(i, 1) = arr(1, j) Then arr(i, j) = 0 Else If i = 2 Then arr(i, j) = 1 Else arr(i, j) = arr(i - 1, j) + 1 End If Next j Next i [s2].Resize(UBound(arr, 1), UBound(arr, 2)) = arr For Each tp In rng.Offset(1, 1).Resize(UBound(arr, 1) - 1, UBound(arr, 2) - 1) If tp.Value = 0 Then tp.Interior.ColorIndex = 3 Next tp MsgBox "统计分布完毕!", vbInformation, "" End Sub