2009-10-01 108 views
0

我在可视化的C++中有一个win32 API应用程序,我想将最近查看或打开的文件夹保存到日志文件中。我有一个存储当前窗口的日志文件的代码。打开当前窗口的代码如下。是否可以操纵此代码为最近查看的文件夹创建日志文件。将最近查看或打开的文件夹保存到日志文件

static TCHAR wndText[100]; 
    TCHAR tempWndText[100]; 
    TCHAR timestamp[255]; 
    DWORD written; 
    time_t t=time(0); 
    ctime_s(timestamp,sizeof(timestamp),&t);  
    SetFilePointer(_Wfile,0,NULL,FILE_END); 
    TCHAR buf[255]; 
    wsprintf(buf,"\r\n-->%s\r\n",timestamp); 
WriteFile(_Wfile,buf,(DWORD)lstrlen(buf)*sizeof(TCHAR),&written,NULL); 

while(1) 
{ 
    Sleep(5); 
    flush(); 
    hWndCurWnd=GetForegroundWindow(); 
    GetWindowText(hWndCurWnd,tempWndText,100); 
    if(_Wfile==INVALID_HANDLE_VALUE) 
    { 
     return; 
    } 

    if(lstrcmp(tempWndText,wndText)!=0) 
    { 
     lstrcpyn(wndText,tempWndText,255); 
     wsprintf(buf,"\r[%s]\r\n",wndText); 
     WriteFile(_Wfile,buf,(DWORD)lstrlen(buf)*sizeof(TCHAR),&written,NULL); 
    } 

} 

回答