青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評論-262  文章-1  trackbacks-0
 

 http://blog.tinybrowser.net/archives/916

posted @ 2008-06-11 00:06 free2000fly 閱讀(2279) | 評論 (0)編輯 收藏
     摘要:   閱讀全文
posted @ 2008-05-04 18:52 free2000fly 閱讀(1218) | 評論 (0)編輯 收藏
用 mfc 開發的屏幕保護程序, 有個配置對話框可以添加自己喜歡的 flash  動畫, 希望大家喜歡.

至于安裝,使用方法, 相信大家都知道: 將 *.scr 文件復制到 c:\windows\system32 目錄內, 然后在桌面上空白處右擊鼠標, 選中 "屬性" 菜單項.
在隨后出現的 "顯示 屬性" 對話框內, 選擇 "屏幕保護程序" 選項卡. 在 "屏幕保護程序" 下拉選擇框里, 將會出現 Flash2ScreenSaver 選擇項,
選擇它, 然后點擊 "設置" 按鈕, 在隨后蹦出的對話框內, 就可以添加或者刪除你喜歡的 flash  動畫了. Enjoy it! 

P.S. 早在 2003 年編寫的, 代碼不好, 現在也提不起興趣再折騰了. 有哪位愿意改改, 弄完后 email 我一聲. 先謝過了.

下載地址為:  http://www.shnenglu.com/Files/free2000fly/Flash2ScreenSaver03_F.zip  


posted @ 2008-05-02 13:51 free2000fly 閱讀(1633) | 評論 (2)編輯 收藏
如題, 多年前翻譯的一個 ASM 教程, 包含一個拼圖游戲.

俺認為這個教程寫的是極具親和力, 當年俺就是從這個和這個系列的前一系列進入 Win32 匯編編程的大門的, 希望它還能對現在的 GGJJDDMM 有所裨益.

俺的中文翻譯在 這里 下載

前一系列的匯編入門教程在 這里, 由陶文翻譯

原教程的網址在 這里.

可以在 這里 下載 MASM32 匯編語言開發包, 在 這里 下載匯編語言集成開發環境(IDE), 在 這里 下載資源編輯器, 在 這里 下載調試器, 都是免費軟件.

posted @ 2008-04-05 20:41 free2000fly 閱讀(2300) | 評論 (5)編輯 收藏
網上收集的關于用匯編語言編寫 Windows 環境下的 KMD 驅動程序的教程, 由俄國人編寫, 由羅云彬, 松松, 董巖翻譯, 感謝所有這些人的辛勤勞動, 俺將這些散落在網絡上的文章收集整理出來, 我想這些教程不止對使用匯編語言的人有幫助.

教程中文版的下載地址是  這里 

搭個順風車, 將修改版的 QuickSys 程序放在 這里

posted @ 2008-04-05 11:48 free2000fly 閱讀(1577) | 評論 (0)編輯 收藏
用 ALT 向導生成的服務的框架其實并不好馴服, 俺在上面吃了不少苦頭, 因此俺在自動生成代碼上做了不少修正和擴展, 現在好使了,
包括 Debug 版本的調試中斷點, 用戶邏輯的入口點, 也可以雙擊直接運行, 這時就是一個普通的應用程序. 使得編寫服務就跟編普通應用程序沒有區別.

我的框架的代碼包含了一個完整的可運行的例子服務, 下載地址是:

http://www.shnenglu.com/Files/free2000fly/AutoDomain.zip

posted @ 2008-03-25 19:43 free2000fly 閱讀(1723) | 評論 (0)編輯 收藏
Visual Assist X 1626 crack 下載地址是

http://www.shnenglu.com/Files/free2000fly/VA_X_1626.zip


posted @ 2008-03-08 16:07 free2000fly 閱讀(1362) | 評論 (4)編輯 收藏

原文網址:  http://blog.csdn.net/classfactory/archive/2004/08/29/87749.aspx

C++ 中的枚舉類型繼承于 C 語言。就像其他從 C 語言繼承過來的很多特性一樣,C++ 枚舉也有缺點,這其中最顯著的莫過于作用域問題——在枚舉類型中定義的常量,屬于定義枚舉的作用域,而不屬于這個枚舉類型。例如下面的示例:

enum FileAccess {
    Read = 0x1,
    Write = 0x2,
};

FileAccess access = ::Read; // 正確
FileAccess access = FileAccess::Read; // 錯誤

C++枚舉的這個特點對于習慣面向對象和作用域概念的人來說是不可接受的。首先,FileAccess::Read 顯然更加符合程序員的直覺,因為上面的枚舉定義理應等價于如下的定義(實際上,.NET 中的枚舉類型便是如此實現的):

class FileAccess {
    static const int Read = 0x1;
    static const int Write = 0x2;
};

其次,這導致我們無法在同一個作用域中定義兩個同樣名稱的枚舉值。也就是說,以下的代碼是編譯錯誤:

enum FileAccess {
    Read = 0x1,
    Write = 0x2,
};

enum FileShare {
    Read = 0x1, // 重定義
    Write = 0x2, // 重定義
};

如果這一點沒有讓你惱怒過的話,你可能還沒寫過多少 C++ 代碼 :-)。實際上,在最新的 C++0x 標準草案中有關于枚舉作用域問題的提案,但最終的解決方案會是怎樣的就無法未卜先知了,畢竟對于象 C++ 這樣使用廣泛的語言來說,任何特性的增刪和修改都必須十分小心謹慎。

當然,我們可以使用一些迂回的方法來解決這個問題(C++ 總是能給我們很多驚喜和意外)。例如,我們可以把枚舉值放在一個結構里,并使用運算符重載來逼近枚舉的特性:

struct FileAccess {
    enum __Enum {
        Read = 0x1,
        Write = 0x2
    };
    __Enum _value; // 枚舉值

    FileAccess(int value = 0) : _value((__Enum)value) {}
    FileAccess& operator=(int value) {
        this->_value = (__Enum)value;
        return *this;
    }
    operator int() const {
        return this->_value;
    }
};

我們現在可以按照希望的方式使用這個枚舉類型:

FileAccess access = FileAccess::Read;

并且,因為我們提供了到 int 類型的轉換運算符,因此在需要 int 的地方都可以使用它,例如 switch 語句:

switch (access) {
    case FileAccess::Read:
        break;
    case FileAccess::Write:
        break;
}

當然我們不愿意每次都手工編寫這樣的結構。通過使用宏,我們可以很容易做到這一點:

#define DECLARE_ENUM(E) \
struct E \
{ \
public: \
    E(int value = 0) : _value((__Enum)value) { \
    } \
    E& operator=(int value) { \
        this->_value = (__Enum)value; \
        return *this; \
    } \
    operator int() const { \
        return this->_value; \
    } \
\
    enum __Enum {

#define END_ENUM() \
    }; \
\
private: \
    __Enum _value; \
};

我們現在可以按如下的方式定義前面的枚舉,并且不比直接寫 enum 復雜多少。

DECLARE_ENUM(FileAccess)
    Read = 0x1,
    Write = 0x2,
END_ENUM()

DECLARE_ENUM(FileShare)
    Read = 0x1,
    Write = 0x2,
END_ENUM()

posted @ 2008-03-08 15:04 free2000fly 閱讀(4087) | 評論 (2)編輯 收藏

使用 ADO 編制數據庫程序    
最近正在使用 ADO 編制數據庫程序, 找好的資料比較困難, 找到比較好的

[1] snoopy每日一譯-完美的ADO  http://www.vcer.net/1076417661402.html 
[2] snoopy每日一譯-完美的ADO[2](上)  http://www.vcer.net/2005.html 
[3] snoopy每日一譯-完美的ADO[2](中) http://www.vcer.net/2014.html
[4] snoopy每日一譯-完美的ADO[2](下) http://www.vcer.net/2027.html 

原文鏈接在這里:

ADO is AOK (a simple ADO tutorial)  http://www.codeguru.com/cpp/data/mfc_database/ado/article.php/c1141/

ADO is AOK - Part II http://www.codeguru.com/cpp/data/mfc_database/ado/article.php/c1157/

相關的, 在 VB 和 C 之間傳遞數組的文章,  在這里 http://support.microsoft.com/kb/207931/en-us

傳遞字節數組的方法, 在這里  http://support.microsoft.com/kb/154172/en-us


方便查閱

posted @ 2008-03-08 15:01 free2000fly 閱讀(289) | 評論 (0)編輯 收藏

要實現一個將 IP 地址控件的 disabled 狀態, 但是 Windows 的實現就沒有將控件的顏色灰掉,
M$ 真是的, 最后一步懶得弄了, 我只好自己弄咯. 下面是我的WTL,實現代碼.  BTW, 這個控件在
動態改變大小時, 里面的四個 EDIT 的大小沒跟著改變, 我也懶得弄了 ;-)
 
 
#ifndef __ATL_GRAY_IP_ADDR_CTRL_H__
#define __ATL_GRAY_IP_ADDR_CTRL_H__
#pragma once
#include <vector>
 
#ifndef ARRAYSIZE
#define ARRAYSIZE( x ) (sizeof(x)/sizeof((x)[0]))
#endif // !defined(ARRAYSIZE)

namespace WTL {
    class CGrayIPAddrCtrlImpl : public CWindowImpl<CGrayIPAddrCtrlImpl, CIPAddressCtrl>
    {
        typedef CWindowImpl<CGrayIPAddrCtrlImpl, CIPAddressCtrl> baseClass;
    public:
        BEGIN_MSG_MAP_EX(CGrayIPAddrCtrlImpl)
            MESSAGE_HANDLER(WM_CREATE, OnCreate)
            MESSAGE_HANDLER(WM_PAINT, OnPaint)
            MESSAGE_HANDLER(WM_SIZE, OnSize)
        END_MSG_MAP();
        CGrayIPAddrCtrlImpl() : m_uFourTimes(0)
        { }
        LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
        {
            uMsg, wParam, lParam, bHandled;
            m_vecEdit.clear();
            ::EnumChildWindows(m_hWnd, EnumChildProc, (LPARAM)this);
            bHandled = FALSE;
            return S_OK;
        }
        static BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
        {
            CGrayIPAddrCtrlImpl *pThis = reinterpret_cast<CGrayIPAddrCtrlImpl *>(lParam);
            CEdit wndEdit(hwnd);
            if (pThis->m_uFourTimes < 4)
            {
                wndEdit.SetReadOnly();
                pThis->m_uFourTimes ++;
            }
            RECT rc = { 0 };
            wndEdit.GetClientRect(&rc);
            wndEdit.ClientToScreen(&rc);
            pThis->m_vecEdit.push_back(rc);
            ATLTRACE("======================EnumChildProc==%d==%d==%d===================\n",
                pThis->m_vecEdit.size(), rc.left, rc.right);
            return TRUE;
        }
        BOOL SubclassWindow(HWND hWnd)
        {
            BOOL bReturn = baseClass::SubclassWindow(hWnd);
            if (bReturn) {
                m_vecEdit.clear();
                ::EnumChildWindows(m_hWnd, EnumChildProc, (LPARAM)this);
            }
            return bReturn;
        }
        LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
        {
            uMsg, wParam, lParam, bHandled;
            TCHAR szText[MAX_PATH];
            GetWindowText(szText, ARRAYSIZE(szText));
            CRect       rc;
            CPaintDC    dcMem(m_hWnd); 
            GetClientRect(rc); 
            COLORREF crBack = GetSysColor(COLOR_BTNFACE);
            ::SetBkColor(dcMem, crBack);
            ::ExtTextOut(dcMem, 0, 0, ETO_OPAQUE, &rc, NULL, 0, NULL);
            {
                DWORD   dwFlags = DT_CENTER;
                DWORD   dwStyle = GetExStyle();
                COLORREF    crOldBk     = 0xFFFFFFFF;
                UINT        nOldMode    = (UINT)-1;
                if (dwStyle & WS_EX_TRANSPARENT) {
                    nOldMode = dcMem.SetBkMode(TRANSPARENT);
                } else {
                    crOldBk = dcMem.SetBkColor(crBack);
                }
                TCHAR szDot[] = _T(".");
                RECT rcTemp;
                std::vector<RECT>::reverse_iterator it;
                for(it=m_vecEdit.rbegin(); it!=m_vecEdit.rend(); it++)
                {
                    std::vector<RECT>::reverse_iterator itNext = it+1;
                    if (itNext != m_vecEdit.rend())
                    {
                        rcTemp.top = it->top;
                        rcTemp.bottom = it->bottom;
                        rcTemp.left = it->right;
                        rcTemp.right = itNext->left;
                        ScreenToClient(&rcTemp);
                        dcMem.DrawText(szDot, _tcslen(szDot), &rcTemp, dwFlags);  
                    }
                }
                if (dwStyle & WS_EX_TRANSPARENT) {
                    dcMem.SetBkMode(nOldMode);
                } else {
                    dcMem.SetBkColor(crOldBk);
                }
            }
            return S_OK;
        }
        LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
        {
            uMsg, wParam, lParam, bHandled;
            m_vecEdit.clear();
            ::EnumChildWindows(m_hWnd, EnumChildProc, (LPARAM)this);
            bHandled = FALSE;
            return S_OK;
        }
        UINT m_uFourTimes;
        std::vector< RECT > m_vecEdit;
    };

};  // namespace WTL

#endif  // __ATL_GRAY_IP_ADDR_CTRL_H__

posted @ 2008-03-08 14:51 free2000fly 閱讀(464) | 評論 (0)編輯 收藏
僅列出標題
共6頁: 1 2 3 4 5 6 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美午夜视频在线| 国产女主播视频一区二区| 亚洲国产三级在线| 美日韩精品视频| 久久久久久亚洲精品中文字幕 | 一本到高清视频免费精品| 欧美精品在线极品| 亚洲一区二区三区精品在线观看| 亚洲视频久久| 狠狠噜噜久久| 亚洲精品欧美一区二区三区| 欧美区视频在线观看| 亚洲欧美日韩网| 久久激五月天综合精品| 亚洲日本乱码在线观看| 亚洲午夜电影| 精品9999| 一本色道久久综合一区| 国产一区成人| 亚洲人永久免费| 国产精品午夜电影| 亚洲大胆视频| 国产精品日韩一区| 欧美激情1区2区| 国产精品草草| 免费观看一级特黄欧美大片| 欧美日韩蜜桃| 麻豆乱码国产一区二区三区| 欧美日韩国产综合久久| 久久裸体艺术| 欧美午夜免费影院| 亚洲盗摄视频| 国产亚洲aⅴaaaaaa毛片| 欧美激情精品久久久久久蜜臀 | 国产精品久久久久久久免费软件 | 久久精品一区蜜桃臀影院| 猫咪成人在线观看| 午夜综合激情| 欧美a级大片| 久久另类ts人妖一区二区| 欧美三级视频在线播放| 欧美成人精品三级在线观看 | 久久综合九色综合久99| 亚洲欧美日韩天堂| 欧美激情a∨在线视频播放| 久久精品一区蜜桃臀影院| 欧美日韩一区二区三| 欧美成人免费网| 国产精品自拍一区| 一本大道av伊人久久综合| 亚洲国产影院| 久久九九全国免费精品观看| 欧美一级黄色录像| 欧美日韩一区二区视频在线| 亚洲国产精品t66y| 1769国产精品| 久久精品人人做人人综合| 午夜一区在线| 国产精品家庭影院| 亚洲最新色图| 在线视频欧美精品| 欧美精品在线极品| 亚洲品质自拍| 亚洲九九精品| 欧美精品xxxxbbbb| 91久久久久久久久久久久久| 在线观看不卡av| 久久久久久久网| 欧美成人精品不卡视频在线观看| 国产区欧美区日韩区| 午夜久久黄色| 久久精品国产久精国产一老狼| 国产精品网站在线播放| 亚洲欧美国产另类| 欧美一区二区视频免费观看| 国产精品久久91| 亚洲在线网站| 久久精品五月| 在线激情影院一区| 欧美mv日韩mv国产网站| 亚洲欧洲日本一区二区三区| 日韩西西人体444www| 欧美视频一区二区三区…| 91久久精品美女| 中文精品视频| 国产精品午夜电影| 久久久久久久91| 亚洲福利专区| 亚洲少妇一区| 国产日韩欧美| 欧美va天堂| 99视频日韩| 久久一二三四| avtt综合网| 国产欧美一区二区精品秋霞影院| 欧美综合第一页| 亚洲欧洲一区二区三区在线观看| 亚洲色在线视频| 激情久久久久| 欧美日韩综合精品| 久久福利影视| 一区二区三区不卡视频在线观看| 欧美一区午夜视频在线观看| 亚洲高清在线| 国产麻豆成人精品| 欧美国产一区二区三区激情无套| 亚洲综合精品四区| 欧美福利电影网| 午夜视频久久久久久| 伊伊综合在线| 国产精品久久久久久久浪潮网站 | 亚洲乱码精品一二三四区日韩在线 | 伊人男人综合视频网| 欧美日韩亚洲网| 久久精品国产久精国产思思| 亚洲区国产区| 免费观看一区| 久久国产精品久久久| 亚洲精品一区二区三区蜜桃久 | 久久久久久久久久久成人| 99在线精品观看| 免费看成人av| 欧美一级免费视频| 亚洲视频在线一区| 亚洲精品国产系列| 国内精品视频666| 国产精品国产a级| 欧美黄色日本| 欧美77777| 久久久久久9| 欧美一区亚洲| 亚洲小视频在线| 亚洲美女色禁图| 亚洲黄色影院| 欧美国产亚洲精品久久久8v| 久久久99精品免费观看不卡| 亚洲男人第一网站| 亚洲视频免费看| 一区二区三区精品视频| 亚洲精品一区二区三区99| 1024日韩| 亚洲国产专区校园欧美| 樱花yy私人影院亚洲| 国内久久婷婷综合| 韩国女主播一区二区三区| 国产一区二区黄| 国产一区二区在线观看免费播放| 国产精品亚洲网站| 国产精品网曝门| 国产亚洲综合精品| 国产在线欧美| 在线观看三级视频欧美| 在线观看一区欧美| 亚洲高清视频在线观看| 亚洲经典视频在线观看| 亚洲美女毛片| 亚洲特色特黄| 久久99伊人| 久久这里有精品15一区二区三区| 久久尤物电影视频在线观看| 欧美r片在线| 亚洲欧洲一区二区在线观看| 99精品热视频只有精品10| 亚洲一品av免费观看| 欧美中文字幕第一页| 久久美女性网| 欧美激情一区二区三区四区| 欧美性一区二区| 国产欧美在线视频| 亚洲国产黄色片| 中文精品视频| 久久久国产精品一区二区中文 | 你懂的网址国产 欧美| 亚洲国产精品久久| 亚洲视频在线看| 久久久国产视频91| 欧美人与性动交α欧美精品济南到 | 免费日韩av片| 一级成人国产| 久久久久久久激情视频| 欧美日韩国产成人高清视频| 国产亚洲成人一区| 91久久久一线二线三线品牌| 亚洲欧美日韩在线一区| 狂野欧美激情性xxxx| 日韩午夜黄色| 久久久久高清| 国产精品综合不卡av| 亚洲精品日韩综合观看成人91| 亚洲尤物视频在线| 欧美高潮视频| 欧美在线你懂的| 欧美日韩亚洲精品内裤| 亚洲第一页自拍| 午夜在线不卡| 亚洲另类自拍| 免费观看久久久4p| 国产午夜精品麻豆| 亚洲一区二区三区在线看 | 亚洲精品欧美一区二区三区|