網站企劃必懂─線框圖(wireframe)

(圖片來源︰techcn

什麼是線框圖?為什麼要劃線框圖?

線框圖(wireframe)就是網站的施工藍圖。蓋房子需要畫一個房子的藍圖,蓋一個網站當然也必要有個藍圖來跟不同單位的夥伴溝通。 做為一種溝通工具,線框圖最重要的任務可以讓其他人藉由此藍圖理解你的想法進而跟開啟討論,既然是為了達成討論,就代這必然也不是設計的最終版本,過程中的修修改改塗塗抹抹也就跟炒菜加鹽巴一樣的自然。

  2013-01-25      ez   
.Net 檔案名稱包含特殊字元去除

假如要儲存的檔案名稱,包含特殊字元會造成無法儲存,只需透過 Path.InvalidPathChars 即可查出特殊字元,就可去除瞜。

foreach (char c in Path.InvalidPathChars)
        DatName = "檔案名稱".Replace(c.ToString(), "").Trim();

  2012-04-18      ez      .NET
.Net 擷取螢幕 Print Screen 螢幕畫面功能

透過 Graphics 中的 CopyFromScreen 即可達到複製螢幕功能!

全螢幕擷取到檔案:

            Bitmap myImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
            Graphics g = Graphics.FromImage(myImage);
            g.CopyFromScreen(new Point(0,0), new Point(0, 0), new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height));
            IntPtr dc1 = g.GetHdc();
            g.ReleaseHdc(dc1);
            myImage.Save(@"c:\screen.jpg",System.Drawing.Imaging.ImageFormat.Jpeg);

  2012-04-18      ez      .NET
.Net 取得某 Process 的使用者名稱

帶入 Process ID 取得使用者名稱:

public string GetProcessOwner(int processId)
{
    string query = "Select * From Win32_Process Where ProcessID = " + processId;
    ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
    ManagementObjectCollection processList = searcher.Get(); 

    foreach (ManagementObject obj in processList)
    {
        string[] argList = new string[] { string.Empty, string.Empty };
        int returnVal = Convert.ToInt32(obj.InvokeMethod("GetOwner", argList));
        if (returnVal == 0)
        {
            // return DOMAIN\user
            return argList[1] + "\\" + argList[0];
        }
    } 

    return "NO OWNER";
}

  2012-06-04      ez      .NET
.Net 產生 MD5 加密

方式一:效率較快!

        /// <summary>
        /// 加密
        /// </summary>        
        /// <param name="original">字串</param>
        /// <returns>回傳加密結果</returns>
        public string Encrypt(string Str)
        {
            MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
            byte[] bytes = md5.ComputeHash(Encoding.Default.GetBytes(Str));
            return BitConverter.ToString(bytes).Replace("-", string.Empty);
        }

  2012-08-22      ez      .NET
.Net 利用 FreeImage 讀取更多圖片格式 EXR,HDR,ICO,PCX,RAW...

首先下載 FreeImage:

本地下載:FreeImage

官方下載:http://freeimage.sourceforge.net/

將 FreeImageNET.dll 加入參考,即可開始利用 FreeImage 讀寫圖檔。

//讀出PCX圖檔到Image
FREE_IMAGE_FORMAT FIF = FREE_IMAGE_FORMAT.FIF_PCX;
Image IMG = FreeImage.LoadBitmap("檔案路徑", FREE_IMAGE_LOAD_FLAGS.DEFAULT, ref FIF);

//讀出BMP圖檔到Image
FREE_IMAGE_FORMAT FIF = FREE_IMAGE_FORMAT.FIF_BMP;
Image IMG = FreeImage.LoadBitmap("檔案路徑", FREE_IMAGE_LOAD_FLAGS.DEFAULT, ref FIF);

官方有提供 Sample 喔,自己研究吧!


  2012-06-20      ez      .NET
.Net 控制滑鼠

.Net 已經內建控制滑鼠位置的指令:

Cursor.Position = new Point(30, 60); //X Y軸位置

如果要點擊滑鼠就需要透過WinAPI才能達到:

首先建立一個Class:

using System.Threading;
using System.Runtime.InteropServices;
using System;

namespace Test
{
    static public class Mouse
    {
        [DllImport("user32.dll", SetLastError = true)]
        public static extern Int32 SendInput(Int32 cInputs, ref INPUT pInputs, Int32 cbSize);

        [StructLayout(LayoutKind.Explicit, Pack = 1, Size = 28)]
        public struct INPUT
        {
            [FieldOffset(0)]
            public INPUTTYPE dwType;
            [FieldOffset(4)]
            public MOUSEINPUT mi;
            [FieldOffset(4)]
            public KEYBOARDINPUT ki;
            [FieldOffset(4)]
            public HARDWAREINPUT hi;
        }

        [StructLayout(LayoutKind.Sequential, Pack = 1)]
        public struct MOUSEINPUT
        {
            public Int32 dx;
            public Int32 dy;
            public Int32 mouseData;
            public MOUSEFLAG dwFlags;
            public Int32 time;
            public IntPtr dwExtraInfo;
        }

        [StructLayout(LayoutKind.Sequential, Pack = 1)]
        public struct KEYBOARDINPUT
        {
            public Int16 wVk;
            public Int16 wScan;
            public KEYBOARDFLAG dwFlags;
            public Int32 time;
            public IntPtr dwExtraInfo;
        }

        [StructLayout(LayoutKind.Sequential, Pack = 1)]
        public struct HARDWAREINPUT
        {
            public Int32 uMsg;
            public Int16 wParamL;
            public Int16 wParamH;
        }

        public enum INPUTTYPE : int
        {
            Mouse = 0,
            Keyboard = 1,
            Hardware = 2
        }

        [Flags()]
        public enum MOUSEFLAG : int
        {
            MOVE = 0x1,
            LEFTDOWN = 0x2,
            LEFTUP = 0x4,
            RIGHTDOWN = 0x8,
            RIGHTUP = 0x10,
            MIDDLEDOWN = 0x20,
            MIDDLEUP = 0x40,
            XDOWN = 0x80,
            XUP = 0x100,
            VIRTUALDESK = 0x400,
            WHEEL = 0x800,
            ABSOLUTE = 0x8000
        }

        [Flags()]
        public enum KEYBOARDFLAG : int
        {
            EXTENDEDKEY = 1,
            KEYUP = 2,
            UNICODE = 4,
            SCANCODE = 8
        }
    }
}

  2012-06-04      ez      .NET
.Net 控制鍵盤

利用 SendKeys.Send 即可 輸入文字 或 發送某個按鍵。

SendKeys.Send("文字"); //發送文字

SendKeys.Send("{ENTER}"); //發送Enter按鍵

  2012-05-04      ez      .NET
IObit Uninstaller 軟體移不掉嗎?幫助你完整移除軟體!

常常在試用軟體嗎?試用完後留下一堆暫存檔,清除不掉嗎?

IObit Uninstaller 是一套移除應用程式的工具,當使用「新增移除程式」移除我們不想再用的應用程式失敗時,便可使用IObit Uninstaller。

除了移除應用程式,應用程式未清除的的資料夾、個人資料夾及登錄檔也會一併移除,另外,採用分頁的方式呈現電腦裡的應用程式清單,像最近常使用的軟體、大型的軟體、最近安裝的軟體等。

軟體特色

•可一次移除多個應用程式。

•可一鍵解除IE瀏覽器的Toolbars。

•提供標準和進階移除功能,進階移除可協助使用者,在移除應用程式時,將Windows Registry及硬碟殘留下來的相關檔案或資料夾,一併移除。

•提供強制移除功能。

軟體下載:http://www.iobit.com/advanceduninstaller.html

 


  2012-03-30      ez      好用軟體