亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? w95trace1.cpp

?? 嘿嘿
?? CPP
?? 第 1 頁 / 共 2 頁
字號:

/*
    Implementation of Win95 tracing facility to mimic that of NT
*/

#include "stdafx.h"

#include "windows.h"
#include <stdio.h>
#include <stdarg.h>
#include <process.h>
//#include "w95trace.h"
#include <afxpriv.h>	// for MFC WM_ messages


#ifdef _DEBUG

int CTraceFn::nIndent=-1;	    // current indent level
#define _countof(array) (sizeof(array)/sizeof(array[0]))

#include <time.h>
void ClearDebugWindow(char *str/*=0*/, BOOL bClean/*=TRUE*/)
{
    char timestr[80];
    time_t ltime;
    time(&ltime);
    wsprintf(timestr, "********** %s **********", ctime(&ltime));

    if ((bClean == FALSE) && (str == 0)) return;
    else 
    {
        HWND hDbgWnd, hEdit;
        hDbgWnd = (HWND) FindWindow("DBWin32", "Debug Messages (WIN32)");
        if (hDbgWnd != NULL)
        {
            char *fullStr = 0;
            if (str == 0)
            {
                fullStr = new char[60];
                strcpy(fullStr, "\r\n");
                strcat(fullStr, timestr);
                strcat(fullStr, "\r\n\r\n");
            }
            else
            {
                fullStr = new char[strlen(str)+1+120];
                strcpy(fullStr, "\r\n");
                strcat(fullStr, timestr);
                strcat(fullStr, "\r\n");
                strcat(fullStr, str);
                strcat(fullStr, "\r\n\r\n");
            }
            hEdit = (HWND) FindWindowEx(hDbgWnd, NULL, "Edit", "");
            int len;
            if ((bClean == FALSE) && (str != 0))
            {
                len = SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0);
                SendMessage(hEdit, EM_SETSEL, len+1, len+1);
                SendMessage(hEdit, EM_REPLACESEL, FALSE, (long) fullStr);
            }
            else // (bClean == TRUE)
                SendMessage(hEdit, WM_SETTEXT, 0, (long) fullStr);
            len = SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0);
            SendMessage(hEdit, EM_SETSEL, len+1, len+1);
            delete[] fullStr;
        }
    }
}

void OutputDebugStringW95( LPCTSTR lpOutputString, ...)
{

    HANDLE heventDBWIN;  /* DBWIN32 synchronization object */
    HANDLE heventData;   /* data passing synch object */
    HANDLE hSharedFile;  /* memory mapped file shared data */
    LPSTR lpszSharedMem;
    int iWC;
    char achBuffer1[256];
    char achBuffer[256];

    /* create the output buffer */
    va_list args;
    va_start(args, lpOutputString);
    iWC = vsprintf(achBuffer1, lpOutputString, args);
    if (iWC >= 256) 
        vsprintf(achBuffer1, "%s", "Insufficient memory allocation in OutputDebugStrW95()\n");
    va_end(args);

    /* insert spaces for TRACEFN */
	static BOOL bStartNewLine = TRUE;
	char* nextline;
    iWC = 0;
    for (char* start=achBuffer1; *start; start=nextline+1) 
    {
		if (bStartNewLine) 
        {
			if ((afxTraceFlags & traceMultiApp) && (AfxGetApp() != NULL))
				iWC+=sprintf(&achBuffer[iWC], "%s: ", AfxGetApp()->m_pszExeName);
            for (int i=0; i<CTraceFn::nIndent; i++)
			    achBuffer[iWC++] = ' ';
            if (CTraceFn::nIndent>0) 
                achBuffer[iWC] = '\0';
			bStartNewLine = FALSE;
		}
		nextline = strchr(start, '\n');
		if (nextline) {
			*nextline = 0; // terminate string at newline
			bStartNewLine = TRUE;
		}
        iWC+=sprintf(&achBuffer[iWC], start);
		if (!nextline)
			break;
        iWC+=sprintf(&achBuffer[iWC], "\n");
	}

    /* 
        Do a regular OutputDebugString so that the output is 
        still seen in the debugger window if it exists.

        This ifdef is necessary to avoid infinite recursion 
        from the inclusion of W95TRACE.H
    */
#ifdef _UNICODE
    ::OutputDebugStringW(achBuffer);
#else
    ::OutputDebugStringA(achBuffer);
#endif

    /* bail if it's not Win95 */
    {
        OSVERSIONINFO VerInfo;
        VerInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
        GetVersionEx(&VerInfo);
        if ( VerInfo.dwPlatformId != VER_PLATFORM_WIN32_WINDOWS )
            return;
    }

    /* make sure DBWIN is open and waiting */
    heventDBWIN = OpenEvent(EVENT_MODIFY_STATE, FALSE, "DBWIN_BUFFER_READY");
    if ( !heventDBWIN )
    {
        //MessageBox(NULL, "DBWIN_BUFFER_READY nonexistent", NULL, MB_OK);
        return;            
    }

    /* get a handle to the data synch object */
    heventData = OpenEvent(EVENT_MODIFY_STATE, FALSE, "DBWIN_DATA_READY");
    if ( !heventData )
    {
        // MessageBox(NULL, "DBWIN_DATA_READY nonexistent", NULL, MB_OK);
        CloseHandle(heventDBWIN);
        return;            
    }
    
    hSharedFile = CreateFileMapping((HANDLE)-1, NULL, PAGE_READWRITE, 0, 4096, "DBWIN_BUFFER");
    if (!hSharedFile) 
    {
        //MessageBox(NULL, "DebugTrace: Unable to create file mapping object DBWIN_BUFFER", "Error", MB_OK);
        CloseHandle(heventDBWIN);
        CloseHandle(heventData);
        return;
    }

    lpszSharedMem = (LPSTR)MapViewOfFile(hSharedFile, FILE_MAP_WRITE, 0, 0, 512);
    if (!lpszSharedMem) 
    {
        //MessageBox(NULL, "DebugTrace: Unable to map shared memory", "Error", MB_OK);
        CloseHandle(heventDBWIN);
        CloseHandle(heventData);
        return;
    }

    /* wait for buffer event */
    WaitForSingleObject(heventDBWIN, INFINITE);

    /* write it to the shared memory */
    *((LPDWORD)lpszSharedMem) = _getpid();
    wsprintf(lpszSharedMem + sizeof(DWORD), "%s", achBuffer);

    /* signal data ready event */
    SetEvent(heventData);

    /* clean up handles */
    CloseHandle(hSharedFile);
    CloseHandle(heventData);
    CloseHandle(heventDBWIN);

    return;
}

//////////////////
// Get window name in the form classname[HWND,title]
// Searches all the parents for a window with a title.
//
CString sDbgName(CWnd* pWnd)
{
	CString sTitle;
	HWND hwnd = pWnd->GetSafeHwnd();
	if (hwnd==NULL)
		sTitle = "NULL";
	else if (!::IsWindow(hwnd))
		sTitle = "[bad window]";
	else {
		sTitle = "[no title]";
		for (CWnd* pw = pWnd; pw; pw = pw->GetParent()) {
			if (pw->GetWindowTextLength() > 0) {
				pw->GetWindowText(sTitle);
				break;
			}
		}
	}
	CString s;
	s.Format("%s[0x%04x,\"%s\"]", 
		pWnd ? pWnd->GetRuntimeClass()->m_lpszClassName : "NULL",
		hwnd, (LPCTSTR)sTitle);
	return s;
}

struct {
	UINT		msg;
	LPCTSTR	name;
} MsgData[] = {
	{ WM_CREATE,_T("WM_CREATE") },
	{ WM_DESTROY,_T("WM_DESTROY") },
	{ WM_MOVE,_T("WM_MOVE") },
	{ WM_SIZE,_T("WM_SIZE") },
	{ WM_ACTIVATE,_T("WM_ACTIVATE") },
	{ WM_SETFOCUS,_T("WM_SETFOCUS") },
	{ WM_KILLFOCUS,_T("WM_KILLFOCUS") },
	{ WM_ENABLE,_T("WM_ENABLE") },
	{ WM_SETREDRAW,_T("WM_SETREDRAW") },
	{ WM_SETTEXT,_T("WM_SETTEXT") },
	{ WM_GETTEXT,_T("WM_GETTEXT") },
	{ WM_GETTEXTLENGTH,_T("WM_GETTEXTLENGTH") },
	{ WM_PAINT,_T("WM_PAINT") },
	{ WM_CLOSE,_T("WM_CLOSE") },
	{ WM_QUERYENDSESSION,_T("WM_QUERYENDSESSION") },
	{ WM_QUIT,_T("WM_QUIT") },
	{ WM_QUERYOPEN,_T("WM_QUERYOPEN") },
	{ WM_ERASEBKGND,_T("WM_ERASEBKGND") },
	{ WM_SYSCOLORCHANGE,_T("WM_SYSCOLORCHANGE") },
	{ WM_ENDSESSION,_T("WM_ENDSESSION") },
	{ WM_SHOWWINDOW,_T("WM_SHOWWINDOW") },
	{ WM_WININICHANGE,_T("WM_WININICHANGE") },
	{ WM_SETTINGCHANGE,_T("WM_SETTINGCHANGE") },
	{ WM_DEVMODECHANGE,_T("WM_DEVMODECHANGE") },
	{ WM_ACTIVATEAPP,_T("WM_ACTIVATEAPP") },
	{ WM_FONTCHANGE,_T("WM_FONTCHANGE") },
	{ WM_TIMECHANGE,_T("WM_TIMECHANGE") },
	{ WM_CANCELMODE,_T("WM_CANCELMODE") },
	{ WM_SETCURSOR,_T("WM_SETCURSOR") },
	{ WM_MOUSEACTIVATE,_T("WM_MOUSEACTIVATE") },
	{ WM_CHILDACTIVATE,_T("WM_CHILDACTIVATE") },
	{ WM_QUEUESYNC,_T("WM_QUEUESYNC") },
	{ WM_GETMINMAXINFO,_T("WM_GETMINMAXINFO") },
	{ WM_PAINTICON,_T("WM_PAINTICON") },
	{ WM_ICONERASEBKGND,_T("WM_ICONERASEBKGND") },
	{ WM_NEXTDLGCTL,_T("WM_NEXTDLGCTL") },
	{ WM_SPOOLERSTATUS,_T("WM_SPOOLERSTATUS") },
	{ WM_DRAWITEM,_T("WM_DRAWITEM") },
	{ WM_MEASUREITEM,_T("WM_MEASUREITEM") },
	{ WM_DELETEITEM,_T("WM_DELETEITEM") },
	{ WM_VKEYTOITEM,_T("WM_VKEYTOITEM") },
	{ WM_CHARTOITEM,_T("WM_CHARTOITEM") },
	{ WM_SETFONT,_T("WM_SETFONT") },
	{ WM_GETFONT,_T("WM_GETFONT") },

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线看国产| 久久精品视频一区| 精品精品欲导航| 国产亚洲精久久久久久| 亚洲欧美综合在线精品| 五月天欧美精品| 亚洲国产视频一区二区| 精品亚洲免费视频| 91捆绑美女网站| 精品久久久久久久久久久久久久久久久| 国产亚洲欧美日韩在线一区| 久久精品免视看| 午夜国产不卡在线观看视频| 国产一区二区美女| 欧美挠脚心视频网站| 国产精品亲子乱子伦xxxx裸| 香蕉av福利精品导航| 国产麻豆精品在线| 欧美高清www午色夜在线视频| 欧美激情资源网| 丝袜美腿亚洲色图| aaa国产一区| 久久久91精品国产一区二区三区| 亚洲国产精品尤物yw在线观看| 国内精品国产成人国产三级粉色| 在线国产亚洲欧美| 337p日本欧洲亚洲大胆色噜噜| 亚洲人成精品久久久久| 韩日精品视频一区| 欧美日韩精品免费观看视频| 日韩伦理电影网| 国产高清精品在线| 日韩一区二区三区高清免费看看| 综合激情网...| 成人性生交大片免费看视频在线| 欧美一区二区三区喷汁尤物| 一区二区在线观看视频| 成人在线综合网| 日韩免费高清电影| 强制捆绑调教一区二区| 欧美性极品少妇| 亚洲国产精品一区二区www在线 | 亚洲小说欧美激情另类| 国产一区二区伦理| 精品国产91乱码一区二区三区| 视频一区二区国产| 91视视频在线观看入口直接观看www| 久久久久国色av免费看影院| 人人超碰91尤物精品国产| 欧美日韩国产系列| 午夜视频在线观看一区| 欧洲视频一区二区| 亚洲一区二区三区自拍| 欧美三级三级三级爽爽爽| 一区二区三区四区国产精品| 91蜜桃网址入口| 亚洲黄色性网站| 日本高清不卡在线观看| 亚洲国产精品国自产拍av| 国产精品资源网| 中文字幕精品一区二区精品绿巨人| 从欧美一区二区三区| 欧美成人在线直播| 国产一二精品视频| 日韩一区二区免费在线电影| 久久99国产精品免费| 精品sm捆绑视频| 国产成人一区二区精品非洲| 精品三级av在线| 成人激情免费电影网址| 亚洲人妖av一区二区| 欧美日韩精品三区| 蜜桃一区二区三区在线观看| 亚洲国产精品成人综合色在线婷婷 | 国产精品女主播av| 色综合久久99| 亚洲国产综合色| 精品国产一区二区在线观看| 国产成人小视频| 欧美激情在线免费观看| 色婷婷亚洲综合| 蜜臀av一区二区在线观看| 国产日产欧美精品一区二区三区| fc2成人免费人成在线观看播放 | 亚洲国产精品高清| 一本大道久久精品懂色aⅴ| 国产在线视频精品一区| 亚洲成人免费观看| 亚洲天堂福利av| 久久综合丝袜日本网| 欧美人与性动xxxx| 色哟哟国产精品| 99麻豆久久久国产精品免费优播| 免费人成在线不卡| 午夜久久久久久| 亚洲黄色av一区| 日韩毛片在线免费观看| 国产亚洲精品7777| 久久青草欧美一区二区三区| 欧美一二三四区在线| 欧美日产国产精品| 色噜噜夜夜夜综合网| 99久久99久久久精品齐齐| 国产精品1区2区3区在线观看| 蜜桃视频一区二区| 免费高清视频精品| 日韩激情视频网站| 日韩精品亚洲专区| 亚洲成av人片在线| 天天影视涩香欲综合网 | 在线中文字幕一区| aaa国产一区| 99精品黄色片免费大全| 成人动漫视频在线| 91看片淫黄大片一级| 不卡免费追剧大全电视剧网站| 国产精品一区二区不卡| 国产一区免费电影| 成人一级片在线观看| 粗大黑人巨茎大战欧美成人| 高清国产午夜精品久久久久久| 国产91露脸合集magnet| 成人理论电影网| www.亚洲在线| 色婷婷综合久久久中文字幕| 色综合一个色综合亚洲| 在线免费亚洲电影| 欧美日韩高清一区二区不卡| 欧美日韩精品电影| 欧美电影免费观看高清完整版| 久久男人中文字幕资源站| 欧美极品美女视频| 亚洲欧美日韩国产综合| 亚洲成人免费视频| 狠狠狠色丁香婷婷综合激情| 成人丝袜高跟foot| 欧美在线不卡视频| 精品久久免费看| 国产精品毛片无遮挡高清| 一区二区三区精密机械公司| 日本成人中文字幕在线视频| 国产精品18久久久久| 色综合久久中文综合久久牛| 欧美久久久久久久久| 26uuu成人网一区二区三区| 亚洲人成网站影音先锋播放| 免费精品99久久国产综合精品| 国产成人啪午夜精品网站男同| 一本色道久久综合精品竹菊| 日韩免费福利电影在线观看| 亚洲视频一区在线观看| 奇米888四色在线精品| 成人av综合在线| 5月丁香婷婷综合| 国产精品久久久久久久久动漫| 亚洲国产精品一区二区久久 | 91免费视频大全| 欧美一区二区三区四区五区| 国产精品情趣视频| 六月丁香婷婷久久| 97久久精品人人做人人爽50路| 欧美精品vⅰdeose4hd| 国产精品网曝门| 久久国产综合精品| 91成人免费在线| 国产精品福利av| 激情综合网最新| 欧美日韩日日骚| 中文字幕一区二区在线播放| 久久国产欧美日韩精品| 欧美网站一区二区| 成人免费在线视频| 国产98色在线|日韩| 日韩欧美中文字幕制服| 亚洲成人自拍一区| 91国内精品野花午夜精品 | 亚洲成人精品在线观看| 粉嫩av一区二区三区| 欧美成人精品高清在线播放 | 激情综合色综合久久| 日本精品免费观看高清观看| 国产精品午夜在线观看| 激情综合网av| 精品欧美黑人一区二区三区| 午夜亚洲国产au精品一区二区| 色先锋资源久久综合| 国产精品色一区二区三区| 国产999精品久久| 国产欧美日韩另类视频免费观看| 久久福利视频一区二区| 欧美一区二区成人6969| 图片区日韩欧美亚洲| 欧美亚洲精品一区| 亚洲午夜久久久久久久久久久| 色综合久久88色综合天天6| 亚洲日本va午夜在线电影| 91麻豆免费视频| 亚洲一区二区视频在线观看| 欧美视频一区二区| 天天色天天爱天天射综合|