Add .gitattributes and .gitignore files and normalize line endings in the repository (#10)

This commit is contained in:
Colin Finck
2017-10-04 20:37:32 +02:00
committed by GitHub
parent c609406c2f
commit 9ebf43567d
309 changed files with 66975 additions and 66873 deletions

82
.gitattributes vendored Normal file
View File

@@ -0,0 +1,82 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Files with these extensions are accepted source files inside the ReactOS
# tree. They should have native line endings of the OS.
*.acf text
*.asm text
*.c text
*.cc text
*.cmake text
*.cpp text
*.cxx text
*.h text
*.hpp text
*.hxx text
*.idl text
*.inc text
*.inl text
*.klc text
*.l text
*.lds text
*.md text
*.rc text
*.s text
*.S text
*.sfd text
*.spec text
*.svg text
*.txt text
*.TXT text
*.y text
# Files with these extensions end up in the built ReactOS system, so they
# need to have CRLF line endings.
*.bat text eol=crlf
*.cmd text eol=crlf
*.exp text eol=crlf
*.hhc text eol=crlf
*.hhp text eol=crlf
*.ini text eol=crlf
*.INI text eol=crlf
*.inf text eol=crlf
*.inf.tpl text eol=crlf
*.js text eol=crlf
*.manifest text eol=crlf
*.mc text eol=crlf
*.mof text eol=crlf
*.rgs text eol=crlf
*.sif text eol=crlf
*.vbs text eol=crlf
*.vcxproj text eol=crlf
# Files with these extensions are accepted binary files inside the ReactOS
# tree. Git must not tamper with them at all!
*.avi binary
*.bin binary
*.bmf binary
*.bmp binary
*.BMP binary
*.chm binary
*.cur binary
*.dll binary
*.emf binary
*.gif binary
*.ico binary
*.jpg binary
*.mp3 binary
*.nls binary
*.otf binary
*.pdn binary
*.pfb binary
*.pfm binary
*.png binary
*.psd binary
*.ttc binary
*.ttf binary
*.wav binary
*.xcf binary
# All other extensions not explicitly mentioned here are left for Git to
# handle automatically.
# You must not rely on them having a particular line ending style!

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
output-*

3
base/services/nfsd/.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
# These files are distributed with ReactOS.
ms-nfs41-idmap.conf text eol=crlf
netconfig text eol=crlf

2
boot/bootdata/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# This one will be distributed in the ISO.
readme.txt text eol=crlf

View File

@@ -0,0 +1,2 @@
# This file is not handled by the default .gitattributes
testboot.bat.sample text eol=crlf

2
hal/halx86/legacy/bus/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
pci_classes.ids text eol=crlf
pci_vendors.ids text eol=crlf

6
media/drivers/etc/.gitattributes vendored Normal file
View File

@@ -0,0 +1,6 @@
# These files are distributed with ReactOS.
hosts text eol=crlf
KDBinit text eol=crlf
networks text eol=crlf
protocol text eol=crlf
services text eol=crlf

2
media/rapps/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# RAPPS .txt files are distributed as part of ReactOS.
*.txt text eol=crlf

View File

@@ -1,13 +1,13 @@
if(ENABLE_ROSTESTS)
if(ENABLE_ROSTESTS)
add_subdirectory(rostests)
endif()
if(ENABLE_ROSAPPS)
if(ENABLE_ROSAPPS)
add_subdirectory(rosapps)
endif()
if(ENABLE_WALLPAPERS)
if(ENABLE_WALLPAPERS)
add_subdirectory(wallpapers)
endif()

View File

@@ -1,34 +1,34 @@
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
int main(int argc, char* argv[])
{
SYSTEMTIME SystemTime;
LARGE_INTEGER liCount, liFreq;
GetLocalTime(&SystemTime);
if (QueryPerformanceCounter(&liCount) &&
QueryPerformanceFrequency(&liFreq))
{
LONGLONG TotalSecs = liCount.QuadPart / liFreq.QuadPart;
LONGLONG Days = (TotalSecs / 86400);
LONGLONG Hours = ((TotalSecs % 86400) / 3600);
LONGLONG Mins = ((TotalSecs % 86400) % 3600) / 60;
LONGLONG Secs = ((TotalSecs % 86400) % 3600) % 60;
#ifdef LINUX_OUTPUT
UNREFERENCED_PARAMETER(Secs);
_tprintf(_T(" %.2u:%.2u "), SystemTime.wHour, SystemTime.wMinute);
_tprintf(_T("up %I64u days, %I64u:%I64u\n"), Days, Hours, Mins); /*%.2I64u secs*/
#else
_tprintf(_T("System Up Time:\t\t%I64u days, %I64u Hours, %I64u Minutes, %.2I64u Seconds\n"),
Days, Hours, Mins, Secs);
#endif
return 0;
}
return -1;
}
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
int main(int argc, char* argv[])
{
SYSTEMTIME SystemTime;
LARGE_INTEGER liCount, liFreq;
GetLocalTime(&SystemTime);
if (QueryPerformanceCounter(&liCount) &&
QueryPerformanceFrequency(&liFreq))
{
LONGLONG TotalSecs = liCount.QuadPart / liFreq.QuadPart;
LONGLONG Days = (TotalSecs / 86400);
LONGLONG Hours = ((TotalSecs % 86400) / 3600);
LONGLONG Mins = ((TotalSecs % 86400) % 3600) / 60;
LONGLONG Secs = ((TotalSecs % 86400) % 3600) % 60;
#ifdef LINUX_OUTPUT
UNREFERENCED_PARAMETER(Secs);
_tprintf(_T(" %.2u:%.2u "), SystemTime.wHour, SystemTime.wMinute);
_tprintf(_T("up %I64u days, %I64u:%I64u\n"), Days, Hours, Mins); /*%.2I64u secs*/
#else
_tprintf(_T("System Up Time:\t\t%I64u days, %I64u Hours, %I64u Minutes, %.2I64u Seconds\n"),
Days, Hours, Mins, Secs);
#endif
return 0;
}
return -1;
}

View File

@@ -1,66 +1,66 @@
typedef struct _GDI_TABLE_ENTRY
{
PVOID KernelData; /* Points to the kernel mode structure */
HANDLE ProcessId; /* process id that created the object, 0 for stock objects */
LONG Type; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
PVOID UserData; /* Points to the user mode structure, usually NULL though */
} GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;
typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);
/* GDI handle table can hold 0x4000 handles */
#define GDI_HANDLE_COUNT 0x10000
#define GDI_GLOBAL_PROCESS (0x0)
/* Handle Masks and shifts */
#define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
#define GDI_HANDLE_TYPE_MASK 0x007f0000
#define GDI_HANDLE_BASETYPE_MASK 0x001f0000
#define GDI_HANDLE_STOCK_MASK 0x00800000
#define GDI_HANDLE_REUSE_MASK 0xff000000
#define GDI_HANDLE_REUSECNT_SHIFT 24
#define GDI_HANDLE_UPPER_MASK 0x0000ffff
/* Handle macros */
#define GDI_HANDLE_CREATE(i, t) \
((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) << 16)))
#define GDI_HANDLE_GET_INDEX(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
#define GDI_HANDLE_GET_TYPE(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
#define GDI_HANDLE_IS_TYPE(h, t) \
((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))
#define GDI_HANDLE_IS_STOCKOBJ(h) \
(0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))
#define GDI_HANDLE_SET_STOCKOBJ(h) \
((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))
#define GDI_HANDLE_GET_UPPER(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_UPPER_MASK)
#define GDI_OBJECT_TYPE_DC 0x00010000
#define GDI_OBJECT_TYPE_REGION 0x00040000
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
#define GDI_OBJECT_TYPE_FONT 0x000a0000
#define GDI_OBJECT_TYPE_PFE 0x000c0000
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
#define GDI_OBJECT_TYPE_EMF 0x00210000
#define GDI_OBJECT_TYPE_PEN 0x00300000
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
#define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
#define GDI_OBJECT_TYPE_METADC 0x00660000
#define GDI_OBJECT_TYPE_METAFILE 0x00260000
#define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
/* Following object types made up for ROS */
#define GDI_OBJECT_TYPE_ENHMETADC 0x00740000
#define GDI_OBJECT_TYPE_MEMDC 0x00750000
#define GDI_OBJECT_TYPE_DCE 0x00770000
#define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
/** Not really an object type. Forces GDI_FreeObj to be silent. */
#define GDI_OBJECT_TYPE_SILENT 0x80000000
typedef struct _GDI_TABLE_ENTRY
{
PVOID KernelData; /* Points to the kernel mode structure */
HANDLE ProcessId; /* process id that created the object, 0 for stock objects */
LONG Type; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */
PVOID UserData; /* Points to the user mode structure, usually NULL though */
} GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;
typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);
/* GDI handle table can hold 0x4000 handles */
#define GDI_HANDLE_COUNT 0x10000
#define GDI_GLOBAL_PROCESS (0x0)
/* Handle Masks and shifts */
#define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
#define GDI_HANDLE_TYPE_MASK 0x007f0000
#define GDI_HANDLE_BASETYPE_MASK 0x001f0000
#define GDI_HANDLE_STOCK_MASK 0x00800000
#define GDI_HANDLE_REUSE_MASK 0xff000000
#define GDI_HANDLE_REUSECNT_SHIFT 24
#define GDI_HANDLE_UPPER_MASK 0x0000ffff
/* Handle macros */
#define GDI_HANDLE_CREATE(i, t) \
((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) << 16)))
#define GDI_HANDLE_GET_INDEX(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)
#define GDI_HANDLE_GET_TYPE(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)
#define GDI_HANDLE_IS_TYPE(h, t) \
((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))
#define GDI_HANDLE_IS_STOCKOBJ(h) \
(0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))
#define GDI_HANDLE_SET_STOCKOBJ(h) \
((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))
#define GDI_HANDLE_GET_UPPER(h) \
(((ULONG_PTR)(h)) & GDI_HANDLE_UPPER_MASK)
#define GDI_OBJECT_TYPE_DC 0x00010000
#define GDI_OBJECT_TYPE_REGION 0x00040000
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
#define GDI_OBJECT_TYPE_FONT 0x000a0000
#define GDI_OBJECT_TYPE_PFE 0x000c0000
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
#define GDI_OBJECT_TYPE_EMF 0x00210000
#define GDI_OBJECT_TYPE_PEN 0x00300000
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
#define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
#define GDI_OBJECT_TYPE_METADC 0x00660000
#define GDI_OBJECT_TYPE_METAFILE 0x00260000
#define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
/* Following object types made up for ROS */
#define GDI_OBJECT_TYPE_ENHMETADC 0x00740000
#define GDI_OBJECT_TYPE_MEMDC 0x00750000
#define GDI_OBJECT_TYPE_DCE 0x00770000
#define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
/** Not really an object type. Forces GDI_FreeObj to be silent. */
#define GDI_OBJECT_TYPE_SILENT 0x80000000

View File

@@ -1,53 +1,53 @@
/*
* Gdi handle viewer
*
* gdihv.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
HINSTANCE g_hInstance;
PGDI_TABLE_ENTRY GdiHandleTable = 0;
static
PGDI_TABLE_ENTRY
MyGdiQueryTable()
{
PTEB pTeb = NtCurrentTeb();
PPEB pPeb = pTeb->ProcessEnvironmentBlock;
return pPeb->GdiSharedHandleTable;
}
int WINAPI _tWinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPTSTR lpszArgument,
int nStyle)
{
g_hInstance = hThisInstance;
InitCommonControls();
GdiHandleTable = MyGdiQueryTable();
DialogBoxParam(g_hInstance, MAKEINTRESOURCE(IDD_MAINWND), HWND_DESKTOP, MainWindow_WndProc, 0);
/* The program return value is 0 */
return 0;
}
/*
* Gdi handle viewer
*
* gdihv.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
HINSTANCE g_hInstance;
PGDI_TABLE_ENTRY GdiHandleTable = 0;
static
PGDI_TABLE_ENTRY
MyGdiQueryTable()
{
PTEB pTeb = NtCurrentTeb();
PPEB pPeb = pTeb->ProcessEnvironmentBlock;
return pPeb->GdiSharedHandleTable;
}
int WINAPI _tWinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPTSTR lpszArgument,
int nStyle)
{
g_hInstance = hThisInstance;
InitCommonControls();
GdiHandleTable = MyGdiQueryTable();
DialogBoxParam(g_hInstance, MAKEINTRESOURCE(IDD_MAINWND), HWND_DESKTOP, MainWindow_WndProc, 0);
/* The program return value is 0 */
return 0;
}

View File

@@ -1,21 +1,21 @@
#ifndef _GDIHV_H
#define _GDIHV_H
#include <tchar.h>
#define WIN32_NO_STATUS
#include <windows.h>
#include <commctrl.h>
#include <ndk/ntndk.h>
#include <psapi.h>
#include "gdi.h"
#include "mainwnd.h"
#include "proclist.h"
#include "handlelist.h"
#include "resource.h"
extern PGDI_TABLE_ENTRY GdiHandleTable;
extern HINSTANCE g_hInstance;
#endif //_GDIHV_H
#ifndef _GDIHV_H
#define _GDIHV_H
#include <tchar.h>
#define WIN32_NO_STATUS
#include <windows.h>
#include <commctrl.h>
#include <ndk/ntndk.h>
#include <psapi.h>
#include "gdi.h"
#include "mainwnd.h"
#include "proclist.h"
#include "handlelist.h"
#include "resource.h"
extern PGDI_TABLE_ENTRY GdiHandleTable;
extern HINSTANCE g_hInstance;
#endif //_GDIHV_H

View File

@@ -1,194 +1,194 @@
/*
* Gdi handle viewer
*
* handlelist.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
VOID
HandleList_Create(HWND hListCtrl)
{
LVCOLUMN column;
column.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;
column.fmt = LVCFMT_LEFT;
column.pszText = L"Number";
column.cx = 50;
(void)ListView_InsertColumn(hListCtrl, 0, &column);
column.pszText = L"Index";
column.cx = 45;
(void)ListView_InsertColumn(hListCtrl, 1, &column);
column.pszText = L"Handle";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 2, &column);
column.pszText = L"Type";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 3, &column);
column.pszText = L"Process";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 4, &column);
column.pszText = L"KernelData";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 5, &column);
column.pszText = L"UserData";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 6, &column);
column.pszText = L"Type";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 7, &column);
HandleList_Update(hListCtrl, 0);
}
VOID
HandleList_Update(HWND hHandleListCtrl, HANDLE ProcessId)
{
INT i, index;
HANDLE handle;
PGDI_TABLE_ENTRY pEntry;
LVITEM item;
TCHAR strText[80];
TCHAR* str2;
(void)ListView_DeleteAllItems(hHandleListCtrl);
item.mask = LVIF_TEXT|LVIF_PARAM;
item.pszText = strText;
item.cchTextMax = 80;
for (i = 0; i<= GDI_HANDLE_COUNT; i++)
{
pEntry = &GdiHandleTable[i];
if ( ((ProcessId != (HANDLE)1) && ((pEntry->Type & GDI_HANDLE_BASETYPE_MASK) != 0)) ||
((ProcessId == (HANDLE)1) && ((pEntry->Type & GDI_HANDLE_BASETYPE_MASK) == 0)) ||
(ProcessId == (HANDLE)2) )
{
if (ProcessId == (HANDLE)1 || ProcessId == (HANDLE)2 ||
((LONG)ProcessId & 0xfffc) == ((ULONG)pEntry->ProcessId & 0xfffc))
{
handle = GDI_HANDLE_CREATE(i, pEntry->Type);
index = ListView_GetItemCount(hHandleListCtrl);
item.iItem = index;
item.iSubItem = 0;
item.lParam = (LPARAM)handle;
wsprintf(strText, L"%d", index);
(void)ListView_InsertItem(hHandleListCtrl, &item);
wsprintf(strText, L"%d", i);
ListView_SetItemText(hHandleListCtrl, index, 1, strText);
wsprintf(strText, L"%#08x", handle);
ListView_SetItemText(hHandleListCtrl, index, 2, strText);
str2 = GetTypeName(handle);
ListView_SetItemText(hHandleListCtrl, index, 3, str2);
wsprintf(strText, L"%#08x", (UINT)pEntry->ProcessId);
ListView_SetItemText(hHandleListCtrl, index, 4, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->KernelData);
ListView_SetItemText(hHandleListCtrl, index, 5, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->UserData);
ListView_SetItemText(hHandleListCtrl, index, 6, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->Type);
ListView_SetItemText(hHandleListCtrl, index, 7, strText);
}
}
}
}
TCHAR*
GetTypeName(HANDLE handle)
{
TCHAR* strText;
UINT Type = GDI_HANDLE_GET_TYPE(handle);
switch (Type)
{
case GDI_OBJECT_TYPE_DC:
strText = L"DC";
break;
case GDI_OBJECT_TYPE_REGION:
strText = L"Region";
break;
case GDI_OBJECT_TYPE_BITMAP:
strText = L"Bitmap";
break;
case GDI_OBJECT_TYPE_PALETTE:
strText = L"Palette";
break;
case GDI_OBJECT_TYPE_FONT:
strText = L"Font";
break;
case GDI_OBJECT_TYPE_BRUSH:
strText = L"Brush";
break;
case GDI_OBJECT_TYPE_EMF:
strText = L"EMF";
break;
case GDI_OBJECT_TYPE_PEN:
strText = L"Pen";
break;
case GDI_OBJECT_TYPE_EXTPEN:
strText = L"ExtPen";
break;
case GDI_OBJECT_TYPE_COLORSPACE:
strText = L"ColSpace";
break;
case GDI_OBJECT_TYPE_METADC:
strText = L"MetaDC";
break;
case GDI_OBJECT_TYPE_METAFILE:
strText = L"Metafile";
break;
case GDI_OBJECT_TYPE_ENHMETAFILE:
strText = L"EMF";
break;
case GDI_OBJECT_TYPE_ENHMETADC:
strText = L"EMDC";
break;
case GDI_OBJECT_TYPE_MEMDC:
strText = L"MemDC";
break;
case GDI_OBJECT_TYPE_DCE:
strText = L"DCE";
break;
case GDI_OBJECT_TYPE_PFE:
strText = L"PFE";
break;
case GDI_OBJECT_TYPE_DONTCARE:
strText = L"anything";
break;
case GDI_OBJECT_TYPE_SILENT:
default:
strText = L"unknown";
break;
}
return strText;
}
/*
* Gdi handle viewer
*
* handlelist.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
VOID
HandleList_Create(HWND hListCtrl)
{
LVCOLUMN column;
column.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;
column.fmt = LVCFMT_LEFT;
column.pszText = L"Number";
column.cx = 50;
(void)ListView_InsertColumn(hListCtrl, 0, &column);
column.pszText = L"Index";
column.cx = 45;
(void)ListView_InsertColumn(hListCtrl, 1, &column);
column.pszText = L"Handle";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 2, &column);
column.pszText = L"Type";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 3, &column);
column.pszText = L"Process";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 4, &column);
column.pszText = L"KernelData";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 5, &column);
column.pszText = L"UserData";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 6, &column);
column.pszText = L"Type";
column.cx = 80;
(void)ListView_InsertColumn(hListCtrl, 7, &column);
HandleList_Update(hListCtrl, 0);
}
VOID
HandleList_Update(HWND hHandleListCtrl, HANDLE ProcessId)
{
INT i, index;
HANDLE handle;
PGDI_TABLE_ENTRY pEntry;
LVITEM item;
TCHAR strText[80];
TCHAR* str2;
(void)ListView_DeleteAllItems(hHandleListCtrl);
item.mask = LVIF_TEXT|LVIF_PARAM;
item.pszText = strText;
item.cchTextMax = 80;
for (i = 0; i<= GDI_HANDLE_COUNT; i++)
{
pEntry = &GdiHandleTable[i];
if ( ((ProcessId != (HANDLE)1) && ((pEntry->Type & GDI_HANDLE_BASETYPE_MASK) != 0)) ||
((ProcessId == (HANDLE)1) && ((pEntry->Type & GDI_HANDLE_BASETYPE_MASK) == 0)) ||
(ProcessId == (HANDLE)2) )
{
if (ProcessId == (HANDLE)1 || ProcessId == (HANDLE)2 ||
((LONG)ProcessId & 0xfffc) == ((ULONG)pEntry->ProcessId & 0xfffc))
{
handle = GDI_HANDLE_CREATE(i, pEntry->Type);
index = ListView_GetItemCount(hHandleListCtrl);
item.iItem = index;
item.iSubItem = 0;
item.lParam = (LPARAM)handle;
wsprintf(strText, L"%d", index);
(void)ListView_InsertItem(hHandleListCtrl, &item);
wsprintf(strText, L"%d", i);
ListView_SetItemText(hHandleListCtrl, index, 1, strText);
wsprintf(strText, L"%#08x", handle);
ListView_SetItemText(hHandleListCtrl, index, 2, strText);
str2 = GetTypeName(handle);
ListView_SetItemText(hHandleListCtrl, index, 3, str2);
wsprintf(strText, L"%#08x", (UINT)pEntry->ProcessId);
ListView_SetItemText(hHandleListCtrl, index, 4, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->KernelData);
ListView_SetItemText(hHandleListCtrl, index, 5, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->UserData);
ListView_SetItemText(hHandleListCtrl, index, 6, strText);
wsprintf(strText, L"%#08x", (UINT)pEntry->Type);
ListView_SetItemText(hHandleListCtrl, index, 7, strText);
}
}
}
}
TCHAR*
GetTypeName(HANDLE handle)
{
TCHAR* strText;
UINT Type = GDI_HANDLE_GET_TYPE(handle);
switch (Type)
{
case GDI_OBJECT_TYPE_DC:
strText = L"DC";
break;
case GDI_OBJECT_TYPE_REGION:
strText = L"Region";
break;
case GDI_OBJECT_TYPE_BITMAP:
strText = L"Bitmap";
break;
case GDI_OBJECT_TYPE_PALETTE:
strText = L"Palette";
break;
case GDI_OBJECT_TYPE_FONT:
strText = L"Font";
break;
case GDI_OBJECT_TYPE_BRUSH:
strText = L"Brush";
break;
case GDI_OBJECT_TYPE_EMF:
strText = L"EMF";
break;
case GDI_OBJECT_TYPE_PEN:
strText = L"Pen";
break;
case GDI_OBJECT_TYPE_EXTPEN:
strText = L"ExtPen";
break;
case GDI_OBJECT_TYPE_COLORSPACE:
strText = L"ColSpace";
break;
case GDI_OBJECT_TYPE_METADC:
strText = L"MetaDC";
break;
case GDI_OBJECT_TYPE_METAFILE:
strText = L"Metafile";
break;
case GDI_OBJECT_TYPE_ENHMETAFILE:
strText = L"EMF";
break;
case GDI_OBJECT_TYPE_ENHMETADC:
strText = L"EMDC";
break;
case GDI_OBJECT_TYPE_MEMDC:
strText = L"MemDC";
break;
case GDI_OBJECT_TYPE_DCE:
strText = L"DCE";
break;
case GDI_OBJECT_TYPE_PFE:
strText = L"PFE";
break;
case GDI_OBJECT_TYPE_DONTCARE:
strText = L"anything";
break;
case GDI_OBJECT_TYPE_SILENT:
default:
strText = L"unknown";
break;
}
return strText;
}

View File

@@ -1,4 +1,4 @@
VOID HandleList_Create(HWND hListCtrl);
VOID HandleList_Update(HWND hHandleListCtrl, HANDLE ProcessID);
TCHAR* GetTypeName(HANDLE handle);
VOID HandleList_Create(HWND hListCtrl);
VOID HandleList_Update(HWND hHandleListCtrl, HANDLE ProcessID);
TCHAR* GetTypeName(HANDLE handle);

View File

@@ -1,147 +1,147 @@
/*
* Gdi handle viewer
*
* mainwnd.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
INT g_Separator;
static LRESULT
MainWindow_OnSize(HWND hMainWnd)
{
HWND hProcessListctrl, hHandleListCtrl, hProcessRefresh, hHandleRefresh;
RECT rect;
hProcessListctrl = GetDlgItem(hMainWnd, IDC_PROCESSLIST);
hHandleListCtrl = GetDlgItem(hMainWnd, IDC_HANDLELIST);
hProcessRefresh = GetDlgItem(hMainWnd, IDC_REFRESHPROCESS);
hHandleRefresh = GetDlgItem(hMainWnd, IDC_REFRESHHANDLE);
GetClientRect(hMainWnd, &rect);
//g_Separator = (rect.right / 2);
MoveWindow(hProcessListctrl, 5, 5, g_Separator - 5, rect.bottom - 40, TRUE);
MoveWindow(hHandleListCtrl, g_Separator + 5, 5, rect.right - g_Separator - 5, rect.bottom - 40, TRUE);
MoveWindow(hProcessRefresh, g_Separator - 90, rect.bottom - 30, 90, 25, TRUE);
MoveWindow(hHandleRefresh, rect.right - 90, rect.bottom - 30, 90, 25, TRUE);
return 0;
}
static LRESULT
MainWnd_OnNotify(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
LPNMHDR pnmh = (LPNMHDR)lParam;
switch(pnmh->code)
{
case LVN_ITEMCHANGED:
{
LPNMLISTVIEW pnmlv = (LPNMLISTVIEW)pnmh;
if ((wParam == IDC_PROCESSLIST)
&& (pnmlv->uNewState & LVIS_SELECTED)
&& !(pnmlv->uOldState & LVIS_SELECTED))
{
LV_ITEM item;
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_PARAM;
item.iItem = pnmlv->iItem;
(void)ListView_GetItem(GetDlgItem(hWnd, IDC_PROCESSLIST), &item);
HandleList_Update(GetDlgItem(hWnd, IDC_HANDLELIST), (HANDLE)item.lParam);
return TRUE;
}
break;
}
}
return 0;
}
INT_PTR CALLBACK
MainWindow_WndProc(HWND hMainWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
RECT rect;
SendMessage(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_MAIN)));
(void)ListView_SetExtendedListViewStyle(GetDlgItem(hMainWnd, IDC_PROCESSLIST), LVS_EX_FULLROWSELECT);
(void)ListView_SetExtendedListViewStyle(GetDlgItem(hMainWnd, IDC_HANDLELIST), LVS_EX_FULLROWSELECT);
GetClientRect(hMainWnd, &rect);
g_Separator = (rect.right / 2);
HandleList_Create(GetDlgItem(hMainWnd, IDC_HANDLELIST));
ProcessList_Create(GetDlgItem(hMainWnd, IDC_PROCESSLIST));
MainWindow_OnSize(hMainWnd);
break;
}
case WM_SIZE:
return MainWindow_OnSize(hMainWnd);
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
{
EndDialog(hMainWnd, IDOK);
break;
}
case IDC_REFRESHHANDLE:
{
LV_ITEM item;
HWND hProcessListCtrl = GetDlgItem(hMainWnd, IDC_PROCESSLIST);
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_PARAM;
item.iItem = ListView_GetSelectionMark(hProcessListCtrl);
(void)ListView_GetItem(hProcessListCtrl, &item);
HandleList_Update(GetDlgItem(hMainWnd, IDC_HANDLELIST), (HANDLE)item.lParam);
break;
}
case IDC_REFRESHPROCESS:
{
ProcessList_Update(GetDlgItem(hMainWnd, IDC_PROCESSLIST));
break;
}
default:
{
return FALSE;
}
}
break;
}
case WM_NOTIFY:
return MainWnd_OnNotify(hMainWnd, wParam, lParam);
default:
{
return FALSE;
}
}
return TRUE;
}
/*
* Gdi handle viewer
*
* mainwnd.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
INT g_Separator;
static LRESULT
MainWindow_OnSize(HWND hMainWnd)
{
HWND hProcessListctrl, hHandleListCtrl, hProcessRefresh, hHandleRefresh;
RECT rect;
hProcessListctrl = GetDlgItem(hMainWnd, IDC_PROCESSLIST);
hHandleListCtrl = GetDlgItem(hMainWnd, IDC_HANDLELIST);
hProcessRefresh = GetDlgItem(hMainWnd, IDC_REFRESHPROCESS);
hHandleRefresh = GetDlgItem(hMainWnd, IDC_REFRESHHANDLE);
GetClientRect(hMainWnd, &rect);
//g_Separator = (rect.right / 2);
MoveWindow(hProcessListctrl, 5, 5, g_Separator - 5, rect.bottom - 40, TRUE);
MoveWindow(hHandleListCtrl, g_Separator + 5, 5, rect.right - g_Separator - 5, rect.bottom - 40, TRUE);
MoveWindow(hProcessRefresh, g_Separator - 90, rect.bottom - 30, 90, 25, TRUE);
MoveWindow(hHandleRefresh, rect.right - 90, rect.bottom - 30, 90, 25, TRUE);
return 0;
}
static LRESULT
MainWnd_OnNotify(HWND hWnd, WPARAM wParam, LPARAM lParam)
{
LPNMHDR pnmh = (LPNMHDR)lParam;
switch(pnmh->code)
{
case LVN_ITEMCHANGED:
{
LPNMLISTVIEW pnmlv = (LPNMLISTVIEW)pnmh;
if ((wParam == IDC_PROCESSLIST)
&& (pnmlv->uNewState & LVIS_SELECTED)
&& !(pnmlv->uOldState & LVIS_SELECTED))
{
LV_ITEM item;
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_PARAM;
item.iItem = pnmlv->iItem;
(void)ListView_GetItem(GetDlgItem(hWnd, IDC_PROCESSLIST), &item);
HandleList_Update(GetDlgItem(hWnd, IDC_HANDLELIST), (HANDLE)item.lParam);
return TRUE;
}
break;
}
}
return 0;
}
INT_PTR CALLBACK
MainWindow_WndProc(HWND hMainWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
RECT rect;
SendMessage(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_MAIN)));
(void)ListView_SetExtendedListViewStyle(GetDlgItem(hMainWnd, IDC_PROCESSLIST), LVS_EX_FULLROWSELECT);
(void)ListView_SetExtendedListViewStyle(GetDlgItem(hMainWnd, IDC_HANDLELIST), LVS_EX_FULLROWSELECT);
GetClientRect(hMainWnd, &rect);
g_Separator = (rect.right / 2);
HandleList_Create(GetDlgItem(hMainWnd, IDC_HANDLELIST));
ProcessList_Create(GetDlgItem(hMainWnd, IDC_PROCESSLIST));
MainWindow_OnSize(hMainWnd);
break;
}
case WM_SIZE:
return MainWindow_OnSize(hMainWnd);
case WM_COMMAND:
{
switch (LOWORD(wParam))
{
case IDOK:
case IDCANCEL:
{
EndDialog(hMainWnd, IDOK);
break;
}
case IDC_REFRESHHANDLE:
{
LV_ITEM item;
HWND hProcessListCtrl = GetDlgItem(hMainWnd, IDC_PROCESSLIST);
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_PARAM;
item.iItem = ListView_GetSelectionMark(hProcessListCtrl);
(void)ListView_GetItem(hProcessListCtrl, &item);
HandleList_Update(GetDlgItem(hMainWnd, IDC_HANDLELIST), (HANDLE)item.lParam);
break;
}
case IDC_REFRESHPROCESS:
{
ProcessList_Update(GetDlgItem(hMainWnd, IDC_PROCESSLIST));
break;
}
default:
{
return FALSE;
}
}
break;
}
case WM_NOTIFY:
return MainWnd_OnNotify(hMainWnd, wParam, lParam);
default:
{
return FALSE;
}
}
return TRUE;
}

View File

@@ -1,2 +1,2 @@
INT_PTR CALLBACK MainWindow_WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK MainWindow_WndProc(HWND, UINT, WPARAM, LPARAM);

View File

@@ -1,113 +1,113 @@
/*
* Gdi handle viewer
*
* proclist.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
VOID
ProcessList_Create(HWND hListCtrl)
{
LVCOLUMN column;
column.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;
column.fmt = LVCFMT_LEFT;
column.pszText = L"Process";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 0, &column);
column.pszText = L"ProcessID";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 1, &column);
ProcessList_Update(hListCtrl);
}
VOID
ProcessList_Update(HWND hListCtrl)
{
LV_ITEM item;
DWORD ProcessIds[1024], BytesReturned;
UINT cProcesses;
HANDLE hProcess;
WCHAR strText[MAX_PATH] = L"<unknown>";
INT i;
(void)ListView_DeleteAllItems(hListCtrl);
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_TEXT|LVIF_PARAM;
item.pszText = strText;
/* Insert "kernel" */
item.iItem = 0;
item.lParam = 0;
item.pszText = L"<Kernel>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 0);
ListView_SetItemText(hListCtrl, 0, 1, strText);
/* Insert "deleted" */
item.iItem = 1;
item.lParam = 1;
item.pszText = L"<deleted>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 1);
ListView_SetItemText(hListCtrl, 1, 1, strText);
/* Insert "all" */
item.iItem = 2;
item.lParam = 2;
item.pszText = L"<all>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 2);
ListView_SetItemText(hListCtrl, 1, 1, strText);
if (!EnumProcesses(ProcessIds, sizeof(ProcessIds), &BytesReturned ))
{
return;
}
cProcesses = BytesReturned / sizeof(DWORD);
if (cProcesses <= 1)
{
return;
}
for (i = 1; i < cProcesses; i++)
{
wsprintf(strText, L"<unknown>");
item.lParam = ProcessIds[i];
item.iItem = ListView_GetItemCount(hListCtrl);
hProcess = 0;
/* FIXME: HACK: ROS crashes when using OpenProcess with PROCESS_VM_READ */
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ProcessIds[i]);
if (hProcess)
{
GetModuleBaseName(hProcess, NULL, (LPWSTR)strText, MAX_PATH );
CloseHandle(hProcess);
}
(void)ListView_InsertItem(hListCtrl, &item);
wsprintf(strText, L"%#08x", ProcessIds[i]);
ListView_SetItemText(hListCtrl, item.iItem, 1, strText);
}
}
/*
* Gdi handle viewer
*
* proclist.c
*
* Copyright (C) 2007 Timo Kreuzer <timo <dot> kreuzer <at> reactos <dot> org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "gdihv.h"
VOID
ProcessList_Create(HWND hListCtrl)
{
LVCOLUMN column;
column.mask = LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;
column.fmt = LVCFMT_LEFT;
column.pszText = L"Process";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 0, &column);
column.pszText = L"ProcessID";
column.cx = 90;
(void)ListView_InsertColumn(hListCtrl, 1, &column);
ProcessList_Update(hListCtrl);
}
VOID
ProcessList_Update(HWND hListCtrl)
{
LV_ITEM item;
DWORD ProcessIds[1024], BytesReturned;
UINT cProcesses;
HANDLE hProcess;
WCHAR strText[MAX_PATH] = L"<unknown>";
INT i;
(void)ListView_DeleteAllItems(hListCtrl);
memset(&item, 0, sizeof(LV_ITEM));
item.mask = LVIF_TEXT|LVIF_PARAM;
item.pszText = strText;
/* Insert "kernel" */
item.iItem = 0;
item.lParam = 0;
item.pszText = L"<Kernel>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 0);
ListView_SetItemText(hListCtrl, 0, 1, strText);
/* Insert "deleted" */
item.iItem = 1;
item.lParam = 1;
item.pszText = L"<deleted>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 1);
ListView_SetItemText(hListCtrl, 1, 1, strText);
/* Insert "all" */
item.iItem = 2;
item.lParam = 2;
item.pszText = L"<all>";
(void)ListView_InsertItem(hListCtrl, &item);
item.pszText = strText;
wsprintf(strText, L"%#08x", 2);
ListView_SetItemText(hListCtrl, 1, 1, strText);
if (!EnumProcesses(ProcessIds, sizeof(ProcessIds), &BytesReturned ))
{
return;
}
cProcesses = BytesReturned / sizeof(DWORD);
if (cProcesses <= 1)
{
return;
}
for (i = 1; i < cProcesses; i++)
{
wsprintf(strText, L"<unknown>");
item.lParam = ProcessIds[i];
item.iItem = ListView_GetItemCount(hListCtrl);
hProcess = 0;
/* FIXME: HACK: ROS crashes when using OpenProcess with PROCESS_VM_READ */
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, ProcessIds[i]);
if (hProcess)
{
GetModuleBaseName(hProcess, NULL, (LPWSTR)strText, MAX_PATH );
CloseHandle(hProcess);
}
(void)ListView_InsertItem(hListCtrl, &item);
wsprintf(strText, L"%#08x", ProcessIds[i]);
ListView_SetItemText(hListCtrl, item.iItem, 1, strText);
}
}

View File

@@ -1,3 +1,3 @@
VOID ProcessList_Create(HWND hListCtrl);
VOID ProcessList_Update(HWND hListCtrl);
VOID ProcessList_Create(HWND hListCtrl);
VOID ProcessList_Update(HWND hListCtrl);

View File

@@ -1,8 +1,8 @@
#define IDD_MAINWND 1000
#define IDC_PROCESSLIST 1001
#define IDC_HANDLELIST 1002
#define IDC_REFRESHHANDLE 1010
#define IDC_REFRESHPROCESS 1011
#define IDI_MAIN 2000
#define IDI_ARROW 2001
#define IDD_MAINWND 1000
#define IDC_PROCESSLIST 1001
#define IDC_HANDLELIST 1002
#define IDC_REFRESHHANDLE 1010
#define IDC_REFRESHPROCESS 1011
#define IDI_MAIN 2000
#define IDI_ARROW 2001

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +1,56 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "explorer"=.\explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_explorer"=.\make_explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "explorer"=.\explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_explorer"=.\make_explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,205 +1,205 @@
# Microsoft Developer Studio Project File - Name="make_explorer" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) External Target" 0x0106
CFG=make_explorer - Win32 bjam
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "make_explorer.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "make_explorer.mak" CFG="make_explorer - Win32 bjam"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "make_explorer - Win32 Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Unicode Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Unicode Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 doxy docu" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 bjam" (based on "Win32 (x86) External Target")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
!IF "$(CFG)" == "make_explorer - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_explorer.exe"
# PROP BASE Bsc_Name "make_explorer.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_explorer.exe"
# PROP BASE Bsc_Name "make_explorer.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1"
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "UDebug"
# PROP BASE Intermediate_Dir "UDebug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "URelease"
# PROP BASE Intermediate_Dir "URelease"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Cmd_Line "msdevfilt -gcc mingw32-make.exe -f Makefile-precomp UNICODE=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -java make docu"
# PROP Rebuild_Opt "full-docu"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" bjam"
# PROP Rebuild_Opt "clean&bjam release"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ENDIF
# Begin Target
# Name "make_explorer - Win32 Release"
# Name "make_explorer - Win32 Debug"
# Name "make_explorer - Win32 Unicode Debug"
# Name "make_explorer - Win32 Unicode Release"
# Name "make_explorer - Win32 doxy docu"
# Name "make_explorer - Win32 bjam"
!IF "$(CFG)" == "make_explorer - Win32 Release"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release"
!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu"
!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam"
!ENDIF
# Begin Source File
SOURCE=.\explorer.rbuild
# End Source File
# Begin Source File
SOURCE=.\Jamfile
# End Source File
# Begin Source File
SOURCE=".\Makefile-MinGW"
# End Source File
# Begin Source File
SOURCE=".\Makefile-precomp"
# End Source File
# Begin Source File
SOURCE=".\Makefile-Wine"
# End Source File
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="make_explorer" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) External Target" 0x0106
CFG=make_explorer - Win32 bjam
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "make_explorer.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "make_explorer.mak" CFG="make_explorer - Win32 bjam"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "make_explorer - Win32 Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Unicode Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 Unicode Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 doxy docu" (based on "Win32 (x86) External Target")
!MESSAGE "make_explorer - Win32 bjam" (based on "Win32 (x86) External Target")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
!IF "$(CFG)" == "make_explorer - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_explorer.exe"
# PROP BASE Bsc_Name "make_explorer.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "NMAKE /f make_explorer.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_explorer.exe"
# PROP BASE Bsc_Name "make_explorer.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile-precomp UNICODE=0 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1"
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "UDebug"
# PROP BASE Intermediate_Dir "UDebug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" mingw32-make.exe -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "URelease"
# PROP BASE Intermediate_Dir "URelease"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Cmd_Line "msdevfilt -gcc mingw32-make.exe -f Makefile-precomp UNICODE=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -java make docu"
# PROP Rebuild_Opt "full-docu"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "explorer.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" bjam"
# PROP Rebuild_Opt "clean&bjam release"
# PROP Target_File "explorer.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ENDIF
# Begin Target
# Name "make_explorer - Win32 Release"
# Name "make_explorer - Win32 Debug"
# Name "make_explorer - Win32 Unicode Debug"
# Name "make_explorer - Win32 Unicode Release"
# Name "make_explorer - Win32 doxy docu"
# Name "make_explorer - Win32 bjam"
!IF "$(CFG)" == "make_explorer - Win32 Release"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Debug"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Debug"
!ELSEIF "$(CFG)" == "make_explorer - Win32 Unicode Release"
!ELSEIF "$(CFG)" == "make_explorer - Win32 doxy docu"
!ELSEIF "$(CFG)" == "make_explorer - Win32 bjam"
!ENDIF
# Begin Source File
SOURCE=.\explorer.rbuild
# End Source File
# Begin Source File
SOURCE=.\Jamfile
# End Source File
# Begin Source File
SOURCE=".\Makefile-MinGW"
# End Source File
# Begin Source File
SOURCE=".\Makefile-precomp"
# End Source File
# Begin Source File
SOURCE=".\Makefile-Wine"
# End Source File
# End Target
# End Project

View File

@@ -1,151 +1,151 @@
# Microsoft Developer Studio Project File - Name="make_rosshell" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) External Target" 0x0106
CFG=make_rosshell - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "make_rosshell.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "make_rosshell.mak" CFG="make_rosshell - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "make_rosshell - Win32 Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Unicode Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Unicode Release" (based on "Win32 (x86) External Target")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
!IF "$(CFG)" == "make_rosshell - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_rosshell.exe"
# PROP BASE Bsc_Name "make_rosshell.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_rosshell.exe"
# PROP BASE Bsc_Name "make_rosshell.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1"
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "UDebug"
# PROP BASE Intermediate_Dir "UDebug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "rosshell.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "URelease"
# PROP BASE Intermediate_Dir "URelease"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "rosshell.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Cmd_Line "msdevfilt -gcc make -f Make-rosshell-MinGW UNICODE=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ENDIF
# Begin Target
# Name "make_rosshell - Win32 Release"
# Name "make_rosshell - Win32 Debug"
# Name "make_rosshell - Win32 Unicode Debug"
# Name "make_rosshell - Win32 Unicode Release"
!IF "$(CFG)" == "make_rosshell - Win32 Release"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release"
!ENDIF
# Begin Source File
SOURCE=.\Jamfile
# End Source File
# Begin Source File
SOURCE=".\Make-rosshell-MinGW"
# End Source File
# Begin Source File
SOURCE=".\Make-rosshell.mak"
# End Source File
# Begin Source File
SOURCE=.\Makefile
# End Source File
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="make_rosshell" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) External Target" 0x0106
CFG=make_rosshell - Win32 Release
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "make_rosshell.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "make_rosshell.mak" CFG="make_rosshell - Win32 Release"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "make_rosshell - Win32 Release" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Unicode Debug" (based on "Win32 (x86) External Target")
!MESSAGE "make_rosshell - Win32 Unicode Release" (based on "Win32 (x86) External Target")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
!IF "$(CFG)" == "make_rosshell - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_rosshell.exe"
# PROP BASE Bsc_Name "make_rosshell.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Cmd_Line "NMAKE /f make_rosshell.mak"
# PROP BASE Rebuild_Opt "/a"
# PROP BASE Target_File "make_rosshell.exe"
# PROP BASE Bsc_Name "make_rosshell.bsc"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Make-rosshell-MinGW UNICODE=0 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=0 DEBUG=1"
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "UDebug"
# PROP BASE Intermediate_Dir "UDebug"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "rosshell.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1 DEBUG=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "URelease"
# PROP BASE Intermediate_Dir "URelease"
# PROP BASE Cmd_Line "msdevfilt -gcc -pipe "perl d:\tools\gSTLFilt.pl" make -f Makefile.MinGW UNICODE=1"
# PROP BASE Rebuild_Opt "clean all"
# PROP BASE Target_File "rosshell.exe"
# PROP BASE Bsc_Name ""
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Cmd_Line "msdevfilt -gcc make -f Make-rosshell-MinGW UNICODE=1"
# PROP Rebuild_Opt "clean all"
# PROP Target_File "rosshell.exe"
# PROP Bsc_Name ""
# PROP Target_Dir ""
!ENDIF
# Begin Target
# Name "make_rosshell - Win32 Release"
# Name "make_rosshell - Win32 Debug"
# Name "make_rosshell - Win32 Unicode Debug"
# Name "make_rosshell - Win32 Unicode Release"
!IF "$(CFG)" == "make_rosshell - Win32 Release"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Debug"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Debug"
!ELSEIF "$(CFG)" == "make_rosshell - Win32 Unicode Release"
!ENDIF
# Begin Source File
SOURCE=.\Jamfile
# End Source File
# Begin Source File
SOURCE=".\Make-rosshell-MinGW"
# End Source File
# Begin Source File
SOURCE=".\Make-rosshell.mak"
# End Source File
# Begin Source File
SOURCE=.\Makefile
# End Source File
# End Target
# End Project

View File

@@ -1,171 +1,171 @@
# Microsoft Developer Studio Project File - Name="notifyhook" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=notifyhook - Win32
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "notifyhook.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "notifyhook.mak" CFG="notifyhook - Win32"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "notifyhook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32 Debug Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "notifyhook - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "shellhook___Win32_Release"
# PROP BASE Intermediate_Dir "shellhook___Win32_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Win32"
# PROP BASE Intermediate_Dir "Win32"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "notifyhook - Win32"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Win32"
# PROP BASE Intermediate_Dir "Win32"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Win32"
# PROP Intermediate_Dir "Win32"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "DRelease"
# PROP BASE Intermediate_Dir "DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "DRelease"
# PROP Intermediate_Dir "DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
!ENDIF
# Begin Target
# Name "notifyhook - Win32 Release"
# Name "notifyhook - Win32 Debug"
# Name "notifyhook - Win32"
# Name "notifyhook - Win32 Debug Release"
# Begin Source File
SOURCE=.\notifyhook.c
# End Source File
# Begin Source File
SOURCE=.\notifyhook.h
# End Source File
# Begin Source File
SOURCE=.\notifyhook.rbuild
# End Source File
# Begin Source File
SOURCE=..\utility\utility.h
# End Source File
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="notifyhook" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=notifyhook - Win32
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "notifyhook.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "notifyhook.mak" CFG="notifyhook - Win32"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "notifyhook - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "notifyhook - Win32 Debug Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "notifyhook - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "shellhook___Win32_Release"
# PROP BASE Intermediate_Dir "shellhook___Win32_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Win32"
# PROP BASE Intermediate_Dir "Win32"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "notifyhook - Win32"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Win32"
# PROP BASE Intermediate_Dir "Win32"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Win32"
# PROP Intermediate_Dir "Win32"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FR /FD /GZ /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "notifyhook - Win32 Debug Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "DRelease"
# PROP BASE Intermediate_Dir "DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "DRelease"
# PROP Intermediate_Dir "DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MT /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_NOTIFYHOOK_IMPL" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 user32.lib /nologo /subsystem:windows /dll /machine:I386
!ENDIF
# Begin Target
# Name "notifyhook - Win32 Release"
# Name "notifyhook - Win32 Debug"
# Name "notifyhook - Win32"
# Name "notifyhook - Win32 Debug Release"
# Begin Source File
SOURCE=.\notifyhook.c
# End Source File
# Begin Source File
SOURCE=.\notifyhook.h
# End Source File
# Begin Source File
SOURCE=.\notifyhook.rbuild
# End Source File
# Begin Source File
SOURCE=..\utility\utility.h
# End Source File
# End Target
# End Project

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +1,56 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "rosshell"=.\rosshell.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_rosshell"=.\make_rosshell.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "rosshell"=.\rosshell.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_rosshell"=.\make_rosshell.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,146 +1,146 @@
# Microsoft Developer Studio Project File - Name="shellclasses" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=shellclasses - Win32 Unicode Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "shellclasses.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "shellclasses.mak" CFG="shellclasses - Win32 Unicode Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "shellclasses - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Unicode Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Unicode Release" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.cmd
RSC=rc.exe
!IF "$(CFG)" == "shellclasses - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "shellclasses - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "shellclasses - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "shellclasses___Win32_Unicode_Debug"
# PROP BASE Intermediate_Dir "shellclasses___Win32_Unicode_Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FR /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "UNICODE" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "shellclasses - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "shellclasses___Win32_Unicode_Release"
# PROP BASE Intermediate_Dir "shellclasses___Win32_Unicode_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "UNICODE" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ENDIF
# Begin Target
# Name "shellclasses - Win32 Release"
# Name "shellclasses - Win32 Debug"
# Name "shellclasses - Win32 Unicode Debug"
# Name "shellclasses - Win32 Unicode Release"
# Begin Source File
SOURCE=.\shellclasses.cpp
# End Source File
# Begin Source File
SOURCE=.\shellclasses.h
# End Source File
# Begin Source File
SOURCE=.\shelltests.cpp
# End Source File
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="shellclasses" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=shellclasses - Win32 Unicode Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "shellclasses.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "shellclasses.mak" CFG="shellclasses - Win32 Unicode Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "shellclasses - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Unicode Debug" (based on "Win32 (x86) Console Application")
!MESSAGE "shellclasses - Win32 Unicode Release" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.cmd
RSC=rc.exe
!IF "$(CFG)" == "shellclasses - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "shellclasses - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "shellclasses - Win32 Unicode Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "shellclasses___Win32_Unicode_Debug"
# PROP BASE Intermediate_Dir "shellclasses___Win32_Unicode_Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UDebug"
# PROP Intermediate_Dir "UDebug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /FR /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "UNICODE" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ELSEIF "$(CFG)" == "shellclasses - Win32 Unicode Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "shellclasses___Win32_Unicode_Release"
# PROP BASE Intermediate_Dir "shellclasses___Win32_Unicode_Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "URelease"
# PROP Intermediate_Dir "URelease"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "UNICODE" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.cmd
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ENDIF
# Begin Target
# Name "shellclasses - Win32 Release"
# Name "shellclasses - Win32 Debug"
# Name "shellclasses - Win32 Unicode Debug"
# Name "shellclasses - Win32 Unicode Release"
# Begin Source File
SOURCE=.\shellclasses.cpp
# End Source File
# Begin Source File
SOURCE=.\shellclasses.h
# End Source File
# Begin Source File
SOURCE=.\shelltests.cpp
# End Source File
# End Target
# End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "shellclasses"=.\shellclasses.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "shellclasses"=.\shellclasses.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,275 +1,275 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "create_links"=..\create_links\create_links.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
}}}
###############################################################################
Project: "explorer"=.\explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
Begin Project Dependency
Project_Dep_Name comctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_explorer"=.\make_explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "mpr"="..\..\wine-msvc\dlls\mpr\mpr.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "urlmon"="..\..\wine-msvc\dlls\urlmon\urlmon.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name wininet
End Project Dependency
}}}
###############################################################################
Project: "uuid"="..\..\wine-msvc\libs\uuid\uuid.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wcomctl32"="..\..\wine-msvc\dlls\comctl32\wcomctl32.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
}}}
###############################################################################
Project: "wine"="..\..\wine-msvc\libs\wine\wine.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
}}}
###############################################################################
Project: "wine_port"="..\..\wine-msvc\libs\port\wine_port.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wine_unicode"="..\..\wine-msvc\libs\unicode\wine_unicode.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wininet"="..\..\wine-msvc\dlls\wininet\wininet.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
}}}
###############################################################################
Project: "wshdocvw"="..\..\wine-msvc\dlls\shdocvw\wshdocvw.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
Begin Project Dependency
Project_Dep_Name urlmon
End Project Dependency
}}}
###############################################################################
Project: "wshell32"="..\..\wine-msvc\dlls\shell32\wshell32.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "create_links"=..\create_links\create_links.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
}}}
###############################################################################
Project: "explorer"=.\explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
Begin Project Dependency
Project_Dep_Name comctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name notifyhook
End Project Dependency
}}}
###############################################################################
Project: "make_explorer"=.\make_explorer.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "mpr"="..\..\wine-msvc\dlls\mpr\mpr.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
}}}
###############################################################################
Project: "notifyhook"=.\notifyhook\notifyhook.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "urlmon"="..\..\wine-msvc\dlls\urlmon\urlmon.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name wininet
End Project Dependency
}}}
###############################################################################
Project: "uuid"="..\..\wine-msvc\libs\uuid\uuid.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wcomctl32"="..\..\wine-msvc\dlls\comctl32\wcomctl32.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
}}}
###############################################################################
Project: "wine"="..\..\wine-msvc\libs\wine\wine.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
}}}
###############################################################################
Project: "wine_port"="..\..\wine-msvc\libs\port\wine_port.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wine_unicode"="..\..\wine-msvc\libs\unicode\wine_unicode.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Project: "wininet"="..\..\wine-msvc\dlls\wininet\wininet.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wshell32
End Project Dependency
}}}
###############################################################################
Project: "wshdocvw"="..\..\wine-msvc\dlls\shdocvw\wshdocvw.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
Begin Project Dependency
Project_Dep_Name urlmon
End Project Dependency
}}}
###############################################################################
Project: "wshell32"="..\..\wine-msvc\dlls\shell32\wshell32.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name wine
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_port
End Project Dependency
Begin Project Dependency
Project_Dep_Name wine_unicode
End Project Dependency
Begin Project Dependency
Project_Dep_Name wcomctl32
End Project Dependency
Begin Project Dependency
Project_Dep_Name uuid
End Project Dependency
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,38 +1,38 @@
#include "DefragDialog.h"
#include "Defragment.h"
#include "resource.h"
void UpdateDefragInfo (HWND Dlg)
{
Defragment *Defrag;
HWND PercentItem;
char PercentText[100];
Defrag = (Defragment *) GetWindowLongPtr (Dlg, GWLP_USERDATA);
sprintf (PercentText, "%6.2f%%", Defrag->GetStatusPercent());
PercentItem = GetDlgItem (Dlg, IDC_PERCENT);
SendMessage (GetDlgItem (Dlg, IDC_PERCENT), WM_SETTEXT, 0, (LPARAM) PercentText);
SendMessage (GetDlgItem (Dlg, IDC_STATUS_TEXT), WM_SETTEXT, 0, (LPARAM) Defrag->GetStatusString().c_str());
return;
}
INT_PTR CALLBACK DefragDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam)
{
switch (Msg)
{
case WM_INITDIALOG:
SetWindowLongPtr (Dlg, GWLP_USERDATA, (LONG_PTR)LParam);
UpdateDefragInfo (Dlg);
return (1);
case WM_UPDATEINFO:
UpdateDefragInfo (Dlg);
return (1);
}
return (0);
}
#include "DefragDialog.h"
#include "Defragment.h"
#include "resource.h"
void UpdateDefragInfo (HWND Dlg)
{
Defragment *Defrag;
HWND PercentItem;
char PercentText[100];
Defrag = (Defragment *) GetWindowLongPtr (Dlg, GWLP_USERDATA);
sprintf (PercentText, "%6.2f%%", Defrag->GetStatusPercent());
PercentItem = GetDlgItem (Dlg, IDC_PERCENT);
SendMessage (GetDlgItem (Dlg, IDC_PERCENT), WM_SETTEXT, 0, (LPARAM) PercentText);
SendMessage (GetDlgItem (Dlg, IDC_STATUS_TEXT), WM_SETTEXT, 0, (LPARAM) Defrag->GetStatusString().c_str());
return;
}
INT_PTR CALLBACK DefragDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam)
{
switch (Msg)
{
case WM_INITDIALOG:
SetWindowLongPtr (Dlg, GWLP_USERDATA, (LONG_PTR)LParam);
UpdateDefragInfo (Dlg);
return (1);
case WM_UPDATEINFO:
UpdateDefragInfo (Dlg);
return (1);
}
return (0);
}

View File

@@ -1,458 +1,458 @@
#include "Defragment.h"
// Ahh yes I ripped this from my old Findupes project :)
// Fits a path name, composed of a path (i.e. "c:\blah\blah\cha\cha") and a filename ("stuff.txt")
// and fits it to a given length. If it has to truncate it will first truncate from the path,
// substituting in periods. So you might end up with something like:
// C:\Program Files\Micro...\Register.exe
int FitName (wchar_t *destination, const wchar_t *path, const wchar_t *filename, uint32 totalWidth)
{
uint32 pathLen=0;
uint32 fnLen=0;
uint32 halfTotLen=0;
uint32 len4fn=0; /* number of chars remaining for filename after path is applied */
uint32 len4path=0; /* number of chars for path before filename is applied */
wchar_t fmtStrPath[20]=L"";
wchar_t fmtStrFile[20]=L"";
wchar_t fmtString[40]=L"";
/*
assert (destination != NULL);
assert (path != NULL);
assert (filename != NULL);
assert (totalWidth != 0);
*/
pathLen = wcslen(path);
fnLen = wcslen(filename);
if (!(totalWidth % 2))
halfTotLen=totalWidth / 2;
else
halfTotLen=(totalWidth-1) / 2; /* -1 because otherwise (halfTotLen*2) ==
(totalWidth+1) which wouldn't be good */
/* determine how much width the path and filename each get */
if ( (pathLen >= halfTotLen) && (fnLen < halfTotLen) )
{
len4fn = fnLen;
len4path = (totalWidth - len4fn);
}
if ( (pathLen < halfTotLen) && (fnLen < halfTotLen) )
{
len4fn = fnLen;
len4path = pathLen;
}
if ( (pathLen >= halfTotLen) && (fnLen >= halfTotLen) )
{
len4fn = halfTotLen;
len4path = halfTotLen;
}
if ( (pathLen < halfTotLen) && (fnLen >= halfTotLen) )
{
len4path = pathLen;
len4fn = (totalWidth - len4path);
}
/*
if halfTotLen was adjusted above to avoid a rounding error, give the
extra wchar_t to the filename
*/
if (halfTotLen < (totalWidth/2)) len4path++;
if (pathLen > len4path) swprintf (fmtStrPath, L"%%.%ds...\\", len4path-4);
else
swprintf (fmtStrPath, L"%%s");
if (fnLen > len4fn) swprintf (fmtStrFile, L"%%.%ds...", len4fn-3);
else
swprintf (fmtStrFile, L"%%s");
wcscpy (fmtString, fmtStrPath);
wcscat (fmtString, fmtStrFile);
/*swprintf (fmtString, L"%s%s", fmtStrPath, fmtStrFile);*/
swprintf (destination, fmtString, path,filename);
return (1);
}
Defragment::Defragment (wstring Name, DefragType DefragMethod)
{
Method = DefragMethod;
DoLimitLength = true;
Error = false;
Done = false;
PleaseStop = false;
PleasePause = false;
DriveName = Name;
StatusPercent = 0.0f;
LastBMPUpdate = GetTickCount ();
SetStatusString (L"Opening volume " + Name);
if (!Volume.Open (Name))
{
SetStatusString (L"Error opening volume " + Name);
Error = true;
Done = true;
StatusPercent = 100.0f;
}
return;
}
Defragment::~Defragment ()
{
if (!IsDoneYet ())
{
Stop ();
while (!IsDoneYet() && !HasError())
{
SetStatusString (L"Waiting for thread to stop ...");
Sleep (150);
}
}
Volume.Close ();
return;
}
void Defragment::SetStatusString (wstring NewStatus)
{
Lock ();
StatusString = NewStatus;
Unlock ();
return;
}
wstring Defragment::GetStatusString (void)
{
wstring ReturnVal;
Lock ();
ReturnVal = StatusString;
Unlock ();
return (ReturnVal);
}
double Defragment::GetStatusPercent (void)
{
return (StatusPercent);
}
bool Defragment::IsDoneYet (void)
{
return (Done);
}
void Defragment::Start (void)
{
uint32 i;
uint64 FirstFreeLCN;
uint64 TotalClusters;
uint64 ClustersProgress;
wchar_t PrintName[80];
int Width = 70;
if (Error)
goto DoneDefrag;
// First thing: build a file list.
SetStatusString (L"Getting volume bitmap");
if (!Volume.GetBitmap())
{
SetStatusString (L"Could not get volume " + DriveName + L" bitmap");
Error = true;
goto DoneDefrag;
}
LastBMPUpdate = GetTickCount ();
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Obtaining volume geometry");
if (!Volume.ObtainInfo ())
{
SetStatusString (L"Could not obtain volume " + DriveName + L" geometry");
Error = true;
goto DoneDefrag;
}
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Building file database for volume " + DriveName);
if (!Volume.BuildFileList (PleaseStop, StatusPercent))
{
SetStatusString (L"Could not build file database for volume " + DriveName);
Error = true;
goto DoneDefrag;
}
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Analyzing database for " + DriveName);
TotalClusters = 0;
for (i = 0; i < Volume.GetDBFileCount(); i++)
{
TotalClusters += Volume.GetDBFile(i).Clusters;
}
// Defragment!
ClustersProgress = 0;
// Find first free LCN for speedier searches ...
Volume.FindFreeRange (0, 1, FirstFreeLCN);
if (PleaseStop)
goto DoneDefrag;
// Analyze?
if (Method == DefragAnalyze)
{
uint32 j;
Report.RootPath = Volume.GetRootPath ();
Report.FraggedFiles.clear ();
Report.UnfraggedFiles.clear ();
Report.UnmovableFiles.clear ();
Report.FilesCount = Volume.GetDBFileCount () - Volume.GetDBDirCount ();
Report.DirsCount = Volume.GetDBDirCount ();
Report.DiskSizeBytes = Volume.GetVolumeInfo().TotalBytes;
Report.FilesSizeClusters = 0;
Report.FilesSlackBytes = 0;
Report.FilesSizeBytes = 0;
Report.FilesFragments = 0;
for (j = 0; j < Volume.GetDBFileCount(); j++)
{
FileInfo Info;
Info = Volume.GetDBFile (j);
Report.FilesFragments += max ((size_t)1, Info.Fragments.size()); // add 1 fragment even for 0 bytes/0 cluster files
if (Info.Attributes.Process == 0)
continue;
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
Report.FilesSizeClusters += Info.Clusters;
Report.FilesSizeBytes += Info.Size;
if (Info.Attributes.Unmovable == 1)
Report.UnmovableFiles.push_back (j);
if (Info.Fragments.size() > 1)
Report.FraggedFiles.push_back (j);
else
Report.UnfraggedFiles.push_back (j);
StatusPercent = ((double)j / (double)Report.FilesCount) * 100.0f;
}
Report.FilesSizeOnDisk = Report.FilesSizeClusters * (uint64)Volume.GetVolumeInfo().ClusterSize;
Report.FilesSlackBytes = Report.FilesSizeOnDisk - Report.FilesSizeBytes;
Report.AverageFragments = (double)Report.FilesFragments / (double)Report.FilesCount;
Report.PercentFragged = 100.0f * ((double)(signed)Report.FraggedFiles.size() / (double)(signed)Report.FilesCount);
uint64 Percent;
Percent = (10000 * Report.FilesSlackBytes) / Report.FilesSizeOnDisk;
Report.PercentSlack = (double)(signed)Percent / 100.0f;
}
else
// Go through all the files and ... defragment them!
for (i = 0; i < Volume.GetDBFileCount(); i++)
{
FileInfo Info;
bool Result;
uint64 TargetLCN;
uint64 PreviousClusters;
// What? They want us to pause? Oh ok.
if (PleasePause)
{
SetStatusString (L"Paused");
PleasePause = false;
while (PleasePause == false)
{
Sleep (50);
}
PleasePause = false;
}
if (PleaseStop)
{
SetStatusString (L"Stopping");
break;
}
//
Info = Volume.GetDBFile (i);
PreviousClusters = ClustersProgress;
ClustersProgress += Info.Clusters;
if (Info.Attributes.Process == 0)
continue;
if (!DoLimitLength)
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
else
{
FitName (PrintName, Volume.GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str(), Width);
SetStatusString (PrintName);
}
// Calculate percentage complete
StatusPercent = 100.0f * double((double)PreviousClusters / (double)TotalClusters);
// Can't defrag directories yet
if (Info.Attributes.Directory == 1)
continue;
// Can't defrag 0 byte files :)
if (Info.Fragments.empty())
continue;
// If doing fast defrag, skip non-fragmented files
// Note: This assumes that the extents stored in Info.Fragments
// are consolidated. I.e. we assume it is NOT the case that
// two extents account for a sequential range of (non-
// fragmented) clusters.
if (Info.Fragments.size() == 1 && Method == DefragFast)
continue;
// Otherwise, defrag0rize it!
int Retry = 3; // retry a few times
while (Retry > 0)
{
// Find a place that can fit the file
Result = Volume.FindFreeRange (FirstFreeLCN, Info.Clusters, TargetLCN);
// If yes, try moving it
if (Result)
{
// If we're doing an extensive defrag and the file is already defragmented
// and if its new location would be after its current location, don't
// move it.
if (Method == DefragExtensive && Info.Fragments.size() == 1 &&
TargetLCN > Info.Fragments[0].StartLCN)
{
Retry = 1;
}
else
{
if (Volume.MoveFileDumb (i, TargetLCN))
{
Retry = 1; // yay, all done with this file.
Volume.FindFreeRange (0, 1, FirstFreeLCN);
}
}
}
// New: Only update bitmap if it's older than 15 seconds
if ((GetTickCount() - LastBMPUpdate) < 15000)
Retry = 1;
else
if (!Result || Retry != 1)
{ // hmm. Wait for a moment, then update the drive bitmap
//SetStatusString (L"(Reobtaining volume " + DriveName + L" bitmap)");
if (!DoLimitLength)
{
SetStatusString (GetStatusString() + wstring (L" ."));
}
if (Volume.GetBitmap ())
{
LastBMPUpdate = GetTickCount ();
if (!DoLimitLength)
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
else
SetStatusString (PrintName);
Volume.FindFreeRange (0, 1, FirstFreeLCN);
}
else
{
SetStatusString (L"Could not re-obtain volume " + DriveName + L" bitmap");
Error = true;
}
}
Retry--;
}
if (Error == true)
break;
}
DoneDefrag:
wstring OldStatus;
OldStatus = GetStatusString ();
StatusPercent = 99.999999f;
SetStatusString (L"Closing volume " + DriveName);
Volume.Close ();
StatusPercent = 100.0f;
// If there was an error then the wstring has already been set
if (Error)
SetStatusString (OldStatus);
else
if (PleaseStop)
SetStatusString (L"Volume " + DriveName + L" defragmentation was stopped");
else
SetStatusString (L"Finished defragmenting " + DriveName);
Done = true;
return;
}
void Defragment::TogglePause (void)
{
Lock ();
SetStatusString (L"Pausing ...");
PleasePause = true;
Unlock ();
return;
}
void Defragment::Stop (void)
{
Lock ();
SetStatusString (L"Stopping ...");
PleaseStop = true;
Unlock ();
return;
}
bool Defragment::HasError (void)
{
return (Error);
}
#include "Defragment.h"
// Ahh yes I ripped this from my old Findupes project :)
// Fits a path name, composed of a path (i.e. "c:\blah\blah\cha\cha") and a filename ("stuff.txt")
// and fits it to a given length. If it has to truncate it will first truncate from the path,
// substituting in periods. So you might end up with something like:
// C:\Program Files\Micro...\Register.exe
int FitName (wchar_t *destination, const wchar_t *path, const wchar_t *filename, uint32 totalWidth)
{
uint32 pathLen=0;
uint32 fnLen=0;
uint32 halfTotLen=0;
uint32 len4fn=0; /* number of chars remaining for filename after path is applied */
uint32 len4path=0; /* number of chars for path before filename is applied */
wchar_t fmtStrPath[20]=L"";
wchar_t fmtStrFile[20]=L"";
wchar_t fmtString[40]=L"";
/*
assert (destination != NULL);
assert (path != NULL);
assert (filename != NULL);
assert (totalWidth != 0);
*/
pathLen = wcslen(path);
fnLen = wcslen(filename);
if (!(totalWidth % 2))
halfTotLen=totalWidth / 2;
else
halfTotLen=(totalWidth-1) / 2; /* -1 because otherwise (halfTotLen*2) ==
(totalWidth+1) which wouldn't be good */
/* determine how much width the path and filename each get */
if ( (pathLen >= halfTotLen) && (fnLen < halfTotLen) )
{
len4fn = fnLen;
len4path = (totalWidth - len4fn);
}
if ( (pathLen < halfTotLen) && (fnLen < halfTotLen) )
{
len4fn = fnLen;
len4path = pathLen;
}
if ( (pathLen >= halfTotLen) && (fnLen >= halfTotLen) )
{
len4fn = halfTotLen;
len4path = halfTotLen;
}
if ( (pathLen < halfTotLen) && (fnLen >= halfTotLen) )
{
len4path = pathLen;
len4fn = (totalWidth - len4path);
}
/*
if halfTotLen was adjusted above to avoid a rounding error, give the
extra wchar_t to the filename
*/
if (halfTotLen < (totalWidth/2)) len4path++;
if (pathLen > len4path) swprintf (fmtStrPath, L"%%.%ds...\\", len4path-4);
else
swprintf (fmtStrPath, L"%%s");
if (fnLen > len4fn) swprintf (fmtStrFile, L"%%.%ds...", len4fn-3);
else
swprintf (fmtStrFile, L"%%s");
wcscpy (fmtString, fmtStrPath);
wcscat (fmtString, fmtStrFile);
/*swprintf (fmtString, L"%s%s", fmtStrPath, fmtStrFile);*/
swprintf (destination, fmtString, path,filename);
return (1);
}
Defragment::Defragment (wstring Name, DefragType DefragMethod)
{
Method = DefragMethod;
DoLimitLength = true;
Error = false;
Done = false;
PleaseStop = false;
PleasePause = false;
DriveName = Name;
StatusPercent = 0.0f;
LastBMPUpdate = GetTickCount ();
SetStatusString (L"Opening volume " + Name);
if (!Volume.Open (Name))
{
SetStatusString (L"Error opening volume " + Name);
Error = true;
Done = true;
StatusPercent = 100.0f;
}
return;
}
Defragment::~Defragment ()
{
if (!IsDoneYet ())
{
Stop ();
while (!IsDoneYet() && !HasError())
{
SetStatusString (L"Waiting for thread to stop ...");
Sleep (150);
}
}
Volume.Close ();
return;
}
void Defragment::SetStatusString (wstring NewStatus)
{
Lock ();
StatusString = NewStatus;
Unlock ();
return;
}
wstring Defragment::GetStatusString (void)
{
wstring ReturnVal;
Lock ();
ReturnVal = StatusString;
Unlock ();
return (ReturnVal);
}
double Defragment::GetStatusPercent (void)
{
return (StatusPercent);
}
bool Defragment::IsDoneYet (void)
{
return (Done);
}
void Defragment::Start (void)
{
uint32 i;
uint64 FirstFreeLCN;
uint64 TotalClusters;
uint64 ClustersProgress;
wchar_t PrintName[80];
int Width = 70;
if (Error)
goto DoneDefrag;
// First thing: build a file list.
SetStatusString (L"Getting volume bitmap");
if (!Volume.GetBitmap())
{
SetStatusString (L"Could not get volume " + DriveName + L" bitmap");
Error = true;
goto DoneDefrag;
}
LastBMPUpdate = GetTickCount ();
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Obtaining volume geometry");
if (!Volume.ObtainInfo ())
{
SetStatusString (L"Could not obtain volume " + DriveName + L" geometry");
Error = true;
goto DoneDefrag;
}
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Building file database for volume " + DriveName);
if (!Volume.BuildFileList (PleaseStop, StatusPercent))
{
SetStatusString (L"Could not build file database for volume " + DriveName);
Error = true;
goto DoneDefrag;
}
if (PleaseStop)
goto DoneDefrag;
SetStatusString (L"Analyzing database for " + DriveName);
TotalClusters = 0;
for (i = 0; i < Volume.GetDBFileCount(); i++)
{
TotalClusters += Volume.GetDBFile(i).Clusters;
}
// Defragment!
ClustersProgress = 0;
// Find first free LCN for speedier searches ...
Volume.FindFreeRange (0, 1, FirstFreeLCN);
if (PleaseStop)
goto DoneDefrag;
// Analyze?
if (Method == DefragAnalyze)
{
uint32 j;
Report.RootPath = Volume.GetRootPath ();
Report.FraggedFiles.clear ();
Report.UnfraggedFiles.clear ();
Report.UnmovableFiles.clear ();
Report.FilesCount = Volume.GetDBFileCount () - Volume.GetDBDirCount ();
Report.DirsCount = Volume.GetDBDirCount ();
Report.DiskSizeBytes = Volume.GetVolumeInfo().TotalBytes;
Report.FilesSizeClusters = 0;
Report.FilesSlackBytes = 0;
Report.FilesSizeBytes = 0;
Report.FilesFragments = 0;
for (j = 0; j < Volume.GetDBFileCount(); j++)
{
FileInfo Info;
Info = Volume.GetDBFile (j);
Report.FilesFragments += max ((size_t)1, Info.Fragments.size()); // add 1 fragment even for 0 bytes/0 cluster files
if (Info.Attributes.Process == 0)
continue;
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
Report.FilesSizeClusters += Info.Clusters;
Report.FilesSizeBytes += Info.Size;
if (Info.Attributes.Unmovable == 1)
Report.UnmovableFiles.push_back (j);
if (Info.Fragments.size() > 1)
Report.FraggedFiles.push_back (j);
else
Report.UnfraggedFiles.push_back (j);
StatusPercent = ((double)j / (double)Report.FilesCount) * 100.0f;
}
Report.FilesSizeOnDisk = Report.FilesSizeClusters * (uint64)Volume.GetVolumeInfo().ClusterSize;
Report.FilesSlackBytes = Report.FilesSizeOnDisk - Report.FilesSizeBytes;
Report.AverageFragments = (double)Report.FilesFragments / (double)Report.FilesCount;
Report.PercentFragged = 100.0f * ((double)(signed)Report.FraggedFiles.size() / (double)(signed)Report.FilesCount);
uint64 Percent;
Percent = (10000 * Report.FilesSlackBytes) / Report.FilesSizeOnDisk;
Report.PercentSlack = (double)(signed)Percent / 100.0f;
}
else
// Go through all the files and ... defragment them!
for (i = 0; i < Volume.GetDBFileCount(); i++)
{
FileInfo Info;
bool Result;
uint64 TargetLCN;
uint64 PreviousClusters;
// What? They want us to pause? Oh ok.
if (PleasePause)
{
SetStatusString (L"Paused");
PleasePause = false;
while (PleasePause == false)
{
Sleep (50);
}
PleasePause = false;
}
if (PleaseStop)
{
SetStatusString (L"Stopping");
break;
}
//
Info = Volume.GetDBFile (i);
PreviousClusters = ClustersProgress;
ClustersProgress += Info.Clusters;
if (Info.Attributes.Process == 0)
continue;
if (!DoLimitLength)
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
else
{
FitName (PrintName, Volume.GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str(), Width);
SetStatusString (PrintName);
}
// Calculate percentage complete
StatusPercent = 100.0f * double((double)PreviousClusters / (double)TotalClusters);
// Can't defrag directories yet
if (Info.Attributes.Directory == 1)
continue;
// Can't defrag 0 byte files :)
if (Info.Fragments.empty())
continue;
// If doing fast defrag, skip non-fragmented files
// Note: This assumes that the extents stored in Info.Fragments
// are consolidated. I.e. we assume it is NOT the case that
// two extents account for a sequential range of (non-
// fragmented) clusters.
if (Info.Fragments.size() == 1 && Method == DefragFast)
continue;
// Otherwise, defrag0rize it!
int Retry = 3; // retry a few times
while (Retry > 0)
{
// Find a place that can fit the file
Result = Volume.FindFreeRange (FirstFreeLCN, Info.Clusters, TargetLCN);
// If yes, try moving it
if (Result)
{
// If we're doing an extensive defrag and the file is already defragmented
// and if its new location would be after its current location, don't
// move it.
if (Method == DefragExtensive && Info.Fragments.size() == 1 &&
TargetLCN > Info.Fragments[0].StartLCN)
{
Retry = 1;
}
else
{
if (Volume.MoveFileDumb (i, TargetLCN))
{
Retry = 1; // yay, all done with this file.
Volume.FindFreeRange (0, 1, FirstFreeLCN);
}
}
}
// New: Only update bitmap if it's older than 15 seconds
if ((GetTickCount() - LastBMPUpdate) < 15000)
Retry = 1;
else
if (!Result || Retry != 1)
{ // hmm. Wait for a moment, then update the drive bitmap
//SetStatusString (L"(Reobtaining volume " + DriveName + L" bitmap)");
if (!DoLimitLength)
{
SetStatusString (GetStatusString() + wstring (L" ."));
}
if (Volume.GetBitmap ())
{
LastBMPUpdate = GetTickCount ();
if (!DoLimitLength)
SetStatusString (Volume.GetDBDir (Info.DirIndice) + Info.Name);
else
SetStatusString (PrintName);
Volume.FindFreeRange (0, 1, FirstFreeLCN);
}
else
{
SetStatusString (L"Could not re-obtain volume " + DriveName + L" bitmap");
Error = true;
}
}
Retry--;
}
if (Error == true)
break;
}
DoneDefrag:
wstring OldStatus;
OldStatus = GetStatusString ();
StatusPercent = 99.999999f;
SetStatusString (L"Closing volume " + DriveName);
Volume.Close ();
StatusPercent = 100.0f;
// If there was an error then the wstring has already been set
if (Error)
SetStatusString (OldStatus);
else
if (PleaseStop)
SetStatusString (L"Volume " + DriveName + L" defragmentation was stopped");
else
SetStatusString (L"Finished defragmenting " + DriveName);
Done = true;
return;
}
void Defragment::TogglePause (void)
{
Lock ();
SetStatusString (L"Pausing ...");
PleasePause = true;
Unlock ();
return;
}
void Defragment::Stop (void)
{
Lock ();
SetStatusString (L"Stopping ...");
PleaseStop = true;
Unlock ();
return;
}
bool Defragment::HasError (void)
{
return (Error);
}

View File

@@ -1,92 +1,92 @@
/*****************************************************************************
Defragment
*****************************************************************************/
#ifndef DEFRAGMENT_H
#define DEFRAGMENT_H
#include "Unfrag.h"
#include "DriveVolume.h"
#include "Mutex.h"
extern int FitName (wchar_t *destination, const wchar_t *path, const wchar_t *filename, uint32 totalWidth);
typedef struct DefragReport
{
wstring RootPath;
uint64 DiskSizeBytes;
uint64 DirsCount;
uint64 FilesCount;
uint64 FilesSizeBytes;
uint64 FilesSizeOnDisk;
uint64 FilesSizeClusters;
uint64 FilesSlackBytes;
uint32 FilesFragments;
double AverageFragments; // = FilesFragments / FilesCount
double PercentFragged;
double PercentSlack;
vector<uint32> FraggedFiles;
vector<uint32> UnfraggedFiles;
vector<uint32> UnmovableFiles;
} DefragReport;
class Defragment
{
public:
Defragment (wstring Name, DefragType DefragMethod);
~Defragment ();
// Commands
void Start (void);
void TogglePause (void);
void Stop (void);
// Info
bool IsDoneYet (void);
bool HasError (void);
wstring GetStatusString (void);
double GetStatusPercent (void);
DefragType GetDefragType (void) { return (Method); }
DefragReport &GetDefragReport (void) { return (Report); }
DriveVolume &GetVolume (void) { return (Volume); }
// Mutex
void Lock (void) { DefragMutex.Lock (); }
void Unlock (void) { DefragMutex.Unlock (); }
// Limit length of status string to 70 chars?
bool GetDoLimitLength (void) { return (DoLimitLength); }
void SetDoLimitLength (bool L) { DoLimitLength = L; }
private:
void FastDefrag (void);
void ExtensiveDefrag (void);
void SetStatusString (wstring NewStatus);
DWORD LastBMPUpdate; // Last time volume bitmap was updated
DefragReport Report;
bool DoLimitLength;
DefragType Method;
wstring DriveName;
DriveVolume Volume;
wstring StatusString;
wstring ErrorString;
double StatusPercent;
Mutex DefragMutex;
bool Error;
bool Done;
bool PleaseStop;
bool PleasePause;
DefragType DefragMethod;
};
#endif // DEFRAGMENT_H
/*****************************************************************************
Defragment
*****************************************************************************/
#ifndef DEFRAGMENT_H
#define DEFRAGMENT_H
#include "Unfrag.h"
#include "DriveVolume.h"
#include "Mutex.h"
extern int FitName (wchar_t *destination, const wchar_t *path, const wchar_t *filename, uint32 totalWidth);
typedef struct DefragReport
{
wstring RootPath;
uint64 DiskSizeBytes;
uint64 DirsCount;
uint64 FilesCount;
uint64 FilesSizeBytes;
uint64 FilesSizeOnDisk;
uint64 FilesSizeClusters;
uint64 FilesSlackBytes;
uint32 FilesFragments;
double AverageFragments; // = FilesFragments / FilesCount
double PercentFragged;
double PercentSlack;
vector<uint32> FraggedFiles;
vector<uint32> UnfraggedFiles;
vector<uint32> UnmovableFiles;
} DefragReport;
class Defragment
{
public:
Defragment (wstring Name, DefragType DefragMethod);
~Defragment ();
// Commands
void Start (void);
void TogglePause (void);
void Stop (void);
// Info
bool IsDoneYet (void);
bool HasError (void);
wstring GetStatusString (void);
double GetStatusPercent (void);
DefragType GetDefragType (void) { return (Method); }
DefragReport &GetDefragReport (void) { return (Report); }
DriveVolume &GetVolume (void) { return (Volume); }
// Mutex
void Lock (void) { DefragMutex.Lock (); }
void Unlock (void) { DefragMutex.Unlock (); }
// Limit length of status string to 70 chars?
bool GetDoLimitLength (void) { return (DoLimitLength); }
void SetDoLimitLength (bool L) { DoLimitLength = L; }
private:
void FastDefrag (void);
void ExtensiveDefrag (void);
void SetStatusString (wstring NewStatus);
DWORD LastBMPUpdate; // Last time volume bitmap was updated
DefragReport Report;
bool DoLimitLength;
DefragType Method;
wstring DriveName;
DriveVolume Volume;
wstring StatusString;
wstring ErrorString;
double StatusPercent;
Mutex DefragMutex;
bool Error;
bool Done;
bool PleaseStop;
bool PleasePause;
DefragType DefragMethod;
};
#endif // DEFRAGMENT_H

File diff suppressed because it is too large Load Diff

View File

@@ -1,157 +1,157 @@
/*****************************************************************************
DriveVolume
Class for opening a volume and getting information on it and defragging it
and stuff.
*****************************************************************************/
#ifndef DRIVEVOLUME_H
#define DRIVEVOLUME_H
#include "Unfrag.h"
#include <vector>
#include <string>
using namespace std;
#pragma pack (push, 1)
typedef struct
{
unsigned int Archive : 1;
unsigned int Compressed : 1;
unsigned int Directory : 1;
unsigned int Encrypted : 1;
unsigned int Hidden : 1;
unsigned int Normal : 1;
unsigned int Offline : 1;
unsigned int ReadOnly : 1;
unsigned int Reparse : 1;
unsigned int Sparse : 1;
unsigned int System : 1;
unsigned int Temporary : 1;
// For defragmenting purposes and other information
unsigned int Unmovable : 1; // can we even touch it?
unsigned int Process : 1; // should we process it?
unsigned int AccessDenied : 1; // could we not open it?
} FileAttr;
typedef struct
{
uint64 StartLCN;
uint64 Length;
} Extent;
typedef struct
{
wstring Name;
uint32 DirIndice; // indice into directory list
uint64 Size;
uint64 Clusters;
FileAttr Attributes;
vector<Extent> Fragments;
} FileInfo;
typedef vector<FileInfo> FileList;
typedef struct
{
wstring Name;
wstring Serial;
DWORD MaxNameLen;
wstring FileSystem;
uint64 ClusterCount;
uint32 ClusterSize;
uint64 TotalBytes;
uint64 FreeBytes;
} VolumeInfo;
#pragma pack (pop)
// Callback function for Scan()
// NOTE: Do *NOT* close the HANDLE given to you. It is provided for convenience,
// and is closed automatically by the function that calls you!
typedef bool (*ScanCallback) (FileInfo &Info, HANDLE &FileHandle, void *UserData);
extern bool BuildDBCallback (FileInfo &Info, HANDLE &FileHandle, void *UserData);
class DriveVolume
{
public:
DriveVolume ();
~DriveVolume ();
bool Open (wstring Name); // opens the volume
void Close (void);
bool ObtainInfo (void); // retrieves drive geometry
bool GetBitmap (void); // gets drive bitmap
// builds list of files on drive
// if QuitMonitor ever becomes true (ie from a separate thread) it will clean up and return
bool BuildFileList (bool &QuitMonitor, double &Progress);
// Functions for accessing the volume bitmap
bool IsClusterUsed (uint64 Cluster);
void SetClusterUsed (uint64 Cluster, bool Used);
DISK_GEOMETRY GetGeometry (void) { return (Geometry); }
VolumeInfo GetVolumeInfo (void) { return (VolInfo); }
wstring GetRootPath (void) { return (RootPath); }
// Scans drive starting from the root dir and calls a user defined function
// for each file/directory encountered. void* UserData is passed to this
// function so you can give it some good ol' fashioned context.
bool Scan (ScanCallback Callback, void *UserData);
// Retrieve a directory string from the file database
wstring &GetDBDir (uint32 Indice);
uint32 GetDBDirCount (void);
// Retrieve file strings/info from the file database
FileInfo &GetDBFile (uint32 Indice);
uint32 GetDBFileCount (void);
// Kill it!
uint32 RemoveDBFile (uint32 Indice);
// This is for actual defragmenting! It will automatically update the drive bitmap.
// Will not move any other files out of the way.
// Failure (return value of false) means that something is in the way.
bool MoveFileDumb (uint32 FileIndice, uint64 NewLCN);
// Look for a range of sequential free clusters
// Returns true if one could be found, false if not
bool FindFreeRange (uint64 StartLCN, uint64 ReqLength, uint64 &LCNResult);
private:
friend bool BuildDBCallback (FileInfo &Info, HANDLE &FileHandle, void *UserData);
// DirPrefix should be in the form "drive:\\path\\" ie, C:\CRAP\ .
bool ScanDirectory (wstring DirPrefix, ScanCallback Callback, void *UserData);
// given a file's attributes, should it be processed or not?
bool ShouldProcess (FileAttr Attr);
bool GetClusterInfo (FileInfo &Info, HANDLE &HandleResult);
VolumeInfo VolInfo;
FileList Files;
vector<wstring> Directories; // Directories[Files[x].DirIndice]
wstring RootPath; // ie, C:\ .
HANDLE Handle;
DISK_GEOMETRY Geometry;
uint32 *BitmapDetail;
};
#endif // DRIVEVOLUME_H
/*****************************************************************************
DriveVolume
Class for opening a volume and getting information on it and defragging it
and stuff.
*****************************************************************************/
#ifndef DRIVEVOLUME_H
#define DRIVEVOLUME_H
#include "Unfrag.h"
#include <vector>
#include <string>
using namespace std;
#pragma pack (push, 1)
typedef struct
{
unsigned int Archive : 1;
unsigned int Compressed : 1;
unsigned int Directory : 1;
unsigned int Encrypted : 1;
unsigned int Hidden : 1;
unsigned int Normal : 1;
unsigned int Offline : 1;
unsigned int ReadOnly : 1;
unsigned int Reparse : 1;
unsigned int Sparse : 1;
unsigned int System : 1;
unsigned int Temporary : 1;
// For defragmenting purposes and other information
unsigned int Unmovable : 1; // can we even touch it?
unsigned int Process : 1; // should we process it?
unsigned int AccessDenied : 1; // could we not open it?
} FileAttr;
typedef struct
{
uint64 StartLCN;
uint64 Length;
} Extent;
typedef struct
{
wstring Name;
uint32 DirIndice; // indice into directory list
uint64 Size;
uint64 Clusters;
FileAttr Attributes;
vector<Extent> Fragments;
} FileInfo;
typedef vector<FileInfo> FileList;
typedef struct
{
wstring Name;
wstring Serial;
DWORD MaxNameLen;
wstring FileSystem;
uint64 ClusterCount;
uint32 ClusterSize;
uint64 TotalBytes;
uint64 FreeBytes;
} VolumeInfo;
#pragma pack (pop)
// Callback function for Scan()
// NOTE: Do *NOT* close the HANDLE given to you. It is provided for convenience,
// and is closed automatically by the function that calls you!
typedef bool (*ScanCallback) (FileInfo &Info, HANDLE &FileHandle, void *UserData);
extern bool BuildDBCallback (FileInfo &Info, HANDLE &FileHandle, void *UserData);
class DriveVolume
{
public:
DriveVolume ();
~DriveVolume ();
bool Open (wstring Name); // opens the volume
void Close (void);
bool ObtainInfo (void); // retrieves drive geometry
bool GetBitmap (void); // gets drive bitmap
// builds list of files on drive
// if QuitMonitor ever becomes true (ie from a separate thread) it will clean up and return
bool BuildFileList (bool &QuitMonitor, double &Progress);
// Functions for accessing the volume bitmap
bool IsClusterUsed (uint64 Cluster);
void SetClusterUsed (uint64 Cluster, bool Used);
DISK_GEOMETRY GetGeometry (void) { return (Geometry); }
VolumeInfo GetVolumeInfo (void) { return (VolInfo); }
wstring GetRootPath (void) { return (RootPath); }
// Scans drive starting from the root dir and calls a user defined function
// for each file/directory encountered. void* UserData is passed to this
// function so you can give it some good ol' fashioned context.
bool Scan (ScanCallback Callback, void *UserData);
// Retrieve a directory string from the file database
wstring &GetDBDir (uint32 Indice);
uint32 GetDBDirCount (void);
// Retrieve file strings/info from the file database
FileInfo &GetDBFile (uint32 Indice);
uint32 GetDBFileCount (void);
// Kill it!
uint32 RemoveDBFile (uint32 Indice);
// This is for actual defragmenting! It will automatically update the drive bitmap.
// Will not move any other files out of the way.
// Failure (return value of false) means that something is in the way.
bool MoveFileDumb (uint32 FileIndice, uint64 NewLCN);
// Look for a range of sequential free clusters
// Returns true if one could be found, false if not
bool FindFreeRange (uint64 StartLCN, uint64 ReqLength, uint64 &LCNResult);
private:
friend bool BuildDBCallback (FileInfo &Info, HANDLE &FileHandle, void *UserData);
// DirPrefix should be in the form "drive:\\path\\" ie, C:\CRAP\ .
bool ScanDirectory (wstring DirPrefix, ScanCallback Callback, void *UserData);
// given a file's attributes, should it be processed or not?
bool ShouldProcess (FileAttr Attr);
bool GetClusterInfo (FileInfo &Info, HANDLE &HandleResult);
VolumeInfo VolInfo;
FileList Files;
vector<wstring> Directories; // Directories[Files[x].DirIndice]
wstring RootPath; // ie, C:\ .
HANDLE Handle;
DISK_GEOMETRY Geometry;
uint32 *BitmapDetail;
};
#endif // DRIVEVOLUME_H

View File

@@ -1,64 +1,64 @@
/*****************************************************************************
Fraginator
*****************************************************************************/
#define NDEBUG
#include "Fraginator.h"
#include "Mutex.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include "MainDialog.h"
#include "resource.h"
#ifdef _MSC_VER
#include <crtdbg.h>
#endif
HINSTANCE GlobalHInstance = NULL;
Defragment *Defrag = NULL;
INT WINAPI
wWinMain(HINSTANCE HInstance,
HINSTANCE hPrev,
LPWSTR Cmd,
int iCmd)
{
INITCOMMONCONTROLSEX InitControls;
// debugging crap
#ifndef NDEBUG
_CrtSetDbgFlag (_CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag (_CRTDBG_REPORT_FLAG));
_CrtSetReportMode (_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_WARN, _CRTDBG_FILE_STDOUT);
_CrtSetReportMode (_CRT_ERROR, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_ERROR, _CRTDBG_FILE_STDOUT);
_CrtSetReportMode (_CRT_ASSERT, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_ASSERT, _CRTDBG_FILE_STDOUT);
#endif
GlobalHInstance = HInstance;
// We want our progress bar! NOW!
InitControls.dwSize = sizeof (InitControls);
InitControls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx (&InitControls);
if (!CheckWinVer())
{
MessageBox (GetDesktopWindow(), L"Sorry, this program requires Windows 2000.", L"Error", MB_OK);
return (0);
}
DialogBox (HInstance, MAKEINTRESOURCE (IDD_MAIN), GetDesktopWindow(), MainDialogProc);
#if 0
AllocConsole ();
if (_CrtDumpMemoryLeaks ())
MessageBox (NULL, L"Click OK to quit", L"Leaks", MB_OK);
#endif
return (0);
}
/*****************************************************************************
Fraginator
*****************************************************************************/
#define NDEBUG
#include "Fraginator.h"
#include "Mutex.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include "MainDialog.h"
#include "resource.h"
#ifdef _MSC_VER
#include <crtdbg.h>
#endif
HINSTANCE GlobalHInstance = NULL;
Defragment *Defrag = NULL;
INT WINAPI
wWinMain(HINSTANCE HInstance,
HINSTANCE hPrev,
LPWSTR Cmd,
int iCmd)
{
INITCOMMONCONTROLSEX InitControls;
// debugging crap
#ifndef NDEBUG
_CrtSetDbgFlag (_CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag (_CRTDBG_REPORT_FLAG));
_CrtSetReportMode (_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_WARN, _CRTDBG_FILE_STDOUT);
_CrtSetReportMode (_CRT_ERROR, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_ERROR, _CRTDBG_FILE_STDOUT);
_CrtSetReportMode (_CRT_ASSERT, _CRTDBG_MODE_FILE);
_CrtSetReportFile (_CRT_ASSERT, _CRTDBG_FILE_STDOUT);
#endif
GlobalHInstance = HInstance;
// We want our progress bar! NOW!
InitControls.dwSize = sizeof (InitControls);
InitControls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx (&InitControls);
if (!CheckWinVer())
{
MessageBox (GetDesktopWindow(), L"Sorry, this program requires Windows 2000.", L"Error", MB_OK);
return (0);
}
DialogBox (HInstance, MAKEINTRESOURCE (IDD_MAIN), GetDesktopWindow(), MainDialogProc);
#if 0
AllocConsole ();
if (_CrtDumpMemoryLeaks ())
MessageBox (NULL, L"Click OK to quit", L"Leaks", MB_OK);
#endif
return (0);
}

View File

@@ -1,25 +1,25 @@
/*****************************************************************************
Fraginator !!!
*****************************************************************************/
#ifndef FRAGINATOR_H
#define FRAGINATOR_H
#include "Unfrag.h"
#include <commctrl.h>
//int WINAPI WinMain (HINSTANCE HInstance, HINSTANCE HPrevInstance, LPSTR CmdLine, int ShowCmd);
Defragment *StartDefragBox (wstring Drive, DefragType Method);
extern HINSTANCE GlobalHInstance;
extern Defragment *Defrag;
//extern INT PASCAL wWinMain (HINSTANCE HInstance, HINSTANCE HPrevInstance, LPCWSTR CmdLine, INT ShowCmd);
#endif // FRAGINATOR_H
/*****************************************************************************
Fraginator !!!
*****************************************************************************/
#ifndef FRAGINATOR_H
#define FRAGINATOR_H
#include "Unfrag.h"
#include <commctrl.h>
//int WINAPI WinMain (HINSTANCE HInstance, HINSTANCE HPrevInstance, LPSTR CmdLine, int ShowCmd);
Defragment *StartDefragBox (wstring Drive, DefragType Method);
extern HINSTANCE GlobalHInstance;
extern Defragment *Defrag;
//extern INT PASCAL wWinMain (HINSTANCE HInstance, HINSTANCE HPrevInstance, LPCWSTR CmdLine, INT ShowCmd);
#endif // FRAGINATOR_H

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,14 @@
#ifndef MAINDIALOG_H
#define MAINDIALOG_H
#include <windows.h>
#define WM_UPDATEINFO (WM_USER + 1)
INT_PTR CALLBACK MainDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam);
#endif // MAINDIALOG_H
#ifndef MAINDIALOG_H
#define MAINDIALOG_H
#include <windows.h>
#define WM_UPDATEINFO (WM_USER + 1)
INT_PTR CALLBACK MainDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam);
#endif // MAINDIALOG_H

View File

@@ -1,78 +1,78 @@
/*****************************************************************************
Mutex
*****************************************************************************/
#ifndef MUTEX_H
#define MUTEX_H
#include "Unfrag.h"
class Mutex
{
public:
Mutex ()
{
// NT only code begin ... Win9x disregards this part
SECURITY_ATTRIBUTES MutexAttribs;
memset (&MutexAttribs, 0, sizeof (SECURITY_ATTRIBUTES));
MutexAttribs.bInheritHandle = false;
MutexAttribs.nLength = sizeof (SECURITY_ATTRIBUTES);
MutexAttribs.lpSecurityDescriptor = NULL;
// NT only code end
Locked = false;
LockCount = 0;
MutexHandle = CreateMutex (&MutexAttribs, Locked, NULL);
return;
}
~Mutex ()
{
Lock ();
CloseHandle (MutexHandle);
}
void Lock (void)
{
Locked = true;
WaitForSingleObject (MutexHandle, INFINITE);
LockCount += 1;
return;
}
void Unlock (void)
{
LockCount -= 1;
if (LockCount <= 0)
{
LockCount = 0;
Locked = false;
}
ReleaseMutex (MutexHandle);
return;
}
bool IsLocked (void)
{
return (Locked);
}
protected:
uint32 LockCount;
HANDLE MutexHandle;
bool Locked;
};
#endif // MUTEX_H
/*****************************************************************************
Mutex
*****************************************************************************/
#ifndef MUTEX_H
#define MUTEX_H
#include "Unfrag.h"
class Mutex
{
public:
Mutex ()
{
// NT only code begin ... Win9x disregards this part
SECURITY_ATTRIBUTES MutexAttribs;
memset (&MutexAttribs, 0, sizeof (SECURITY_ATTRIBUTES));
MutexAttribs.bInheritHandle = false;
MutexAttribs.nLength = sizeof (SECURITY_ATTRIBUTES);
MutexAttribs.lpSecurityDescriptor = NULL;
// NT only code end
Locked = false;
LockCount = 0;
MutexHandle = CreateMutex (&MutexAttribs, Locked, NULL);
return;
}
~Mutex ()
{
Lock ();
CloseHandle (MutexHandle);
}
void Lock (void)
{
Locked = true;
WaitForSingleObject (MutexHandle, INFINITE);
LockCount += 1;
return;
}
void Unlock (void)
{
LockCount -= 1;
if (LockCount <= 0)
{
LockCount = 0;
Locked = false;
}
ReleaseMutex (MutexHandle);
return;
}
bool IsLocked (void)
{
return (Locked);
}
protected:
uint32 LockCount;
HANDLE MutexHandle;
bool Locked;
};
#endif // MUTEX_H

View File

@@ -1,231 +1,231 @@
#include "ReportDialog.h"
#include "Unfrag.h"
#include "Fraginator.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include "resource.h"
void SetReportInfo (HWND Dlg, DefragReport &Report, uint32 BytesDivisor, const wchar_t *BytesUnits, bool Fractional)
{
wchar_t Text[1000];
wchar_t Text2[1000];
wchar_t Text3[1000];
memset (Text, 0, sizeof (Text));
// Volume name
SetDlgItemText (Dlg, IDC_DRIVELETTER, Report.RootPath.c_str());
// Volume label
SetDlgItemText (Dlg, IDC_VOLUMELABEL, Defrag->GetVolume().GetVolumeInfo().Name.c_str());
// Volume Serial
SetDlgItemText (Dlg, IDC_VOLUMESERIAL, Defrag->GetVolume().GetVolumeInfo().Serial.c_str());
// File System
SetDlgItemText (Dlg, IDC_FILESYSTEM, Defrag->GetVolume().GetVolumeInfo().FileSystem.c_str());
// DiskSizeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.DiskSizeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.DiskSizeBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_DISKSIZEBYTES, Text);
// DiskFreeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Defrag->GetVolume().GetVolumeInfo().FreeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Defrag->GetVolume().GetVolumeInfo().FreeBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_DISKFREEBYTES, Text);
// DiskSizeClusters
AddCommas (Text, Defrag->GetVolume().GetVolumeInfo().ClusterCount);
wcscat (Text, L" clusters");
SetDlgItemText (Dlg, IDC_DISKSIZECLUSTERS, Text);
// DiskClusterSize
swprintf (Text, L"%u bytes", Defrag->GetVolume().GetVolumeInfo().ClusterSize);
SetDlgItemText (Dlg, IDC_DISKCLUSTERSIZE, Text);
// DirsCount
AddCommas (Text, Report.DirsCount);
SetDlgItemText (Dlg, IDC_DIRSCOUNT, Text);
// FilesCount
AddCommas (Text, Report.FilesCount);
SetDlgItemText (Dlg, IDC_FILESCOUNT, Text);
// FilesFragged
swprintf (Text, L"(%.2f%%)", Report.PercentFragged);
AddCommas (Text2, Report.FraggedFiles.size());
swprintf (Text3, L"%s %s", Text, Text2);
SetDlgItemText (Dlg, IDC_FILESFRAGGED, Text3);
// Average Frags
swprintf (Text, L"%.2f", Report.AverageFragments);
SetDlgItemText (Dlg, IDC_AVERAGEFRAGS, Text);
// FilesSizeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.FilesSizeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.FilesSizeBytes / (uint64)BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_FILESSIZEBYTES, Text);
// Files SizeOnDisk
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)((Report.FilesSizeBytes + Report.FilesSlackBytes) /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, (Report.FilesSizeBytes + Report.FilesSlackBytes) / (uint64)BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_FILESSIZEONDISK, Text);
// FilesSlackBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.FilesSlackBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.FilesSlackBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
swprintf (Text2, L"(%.2f%%)", Report.PercentSlack);
swprintf (Text3, L"%s %s", Text2, Text);
SetDlgItemText (Dlg, IDC_FILESSLACKBYTES, Text3);
// Recommendation
bool PFRec = false; // Recommend based off percent fragged files?
bool AFRec = false; // Recommend based off average fragments per file?
if (Report.PercentFragged >= 5.0f)
PFRec = true;
if (Report.AverageFragments >= 1.1f)
AFRec = true;
wcscpy (Text, L"* ");
if (PFRec)
{
swprintf
(
Text2,
L"%.2f%% of the files on this volume are fragmented. ",
Report.PercentFragged
);
wcscat (Text, Text2);
}
if (AFRec)
{
swprintf
(
Text2,
L"The average fragments per file (%.2f) indicates a high degree of fragmentation. ",
Report.AverageFragments
);
wcscat (Text, Text2);
}
if (Report.PercentFragged < 5.0f && Report.AverageFragments < 1.1f)
swprintf (Text, L"* No defragmentation is necessary at this point.");
else
if (Report.PercentFragged < 15.0f && Report.AverageFragments < 1.3f)
wcscat (Text, L"It is recommended that you perform a Fast Defrag.");
else
wcscat (Text, L"It is recommended that you perform an Extensive Defrag.");
// Should we recommend a smaller cluster size?
if (Report.PercentSlack >= 10.0f)
{
swprintf
(
Text2,
L"\n* A large amount of disk space (%.2f%%) is being lost "
L"due to a large (%u bytes) cluster size. It is recommended "
L"that you use a disk utility such as Partition Magic to "
L"reduce the cluster size of this volume.",
Report.PercentSlack,
Defrag->GetVolume().GetVolumeInfo().ClusterSize
);
wcscat (Text, Text2);
}
SetDlgItemText (Dlg, IDC_RECOMMEND, Text);
return;
}
INT_PTR CALLBACK ReportDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam)
{
switch (Msg)
{
case WM_INITDIALOG:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1, L"bytes", false);
return (1);
case WM_COMMAND:
switch (LOWORD(WParam))
{
case IDC_REPORTOK:
EndDialog (Dlg, 0);
return (1);
case IDC_GIGABYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024*1024*1024, L"GB", true);
return (1);
case IDC_MEGABYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024*1024, L"MB", false);
return (1);
case IDC_KILOBYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024, L"KB", false);
return (1);
case IDC_BYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1, L"bytes", false);
return (1);
}
}
return (0);
}
#include "ReportDialog.h"
#include "Unfrag.h"
#include "Fraginator.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include "resource.h"
void SetReportInfo (HWND Dlg, DefragReport &Report, uint32 BytesDivisor, const wchar_t *BytesUnits, bool Fractional)
{
wchar_t Text[1000];
wchar_t Text2[1000];
wchar_t Text3[1000];
memset (Text, 0, sizeof (Text));
// Volume name
SetDlgItemText (Dlg, IDC_DRIVELETTER, Report.RootPath.c_str());
// Volume label
SetDlgItemText (Dlg, IDC_VOLUMELABEL, Defrag->GetVolume().GetVolumeInfo().Name.c_str());
// Volume Serial
SetDlgItemText (Dlg, IDC_VOLUMESERIAL, Defrag->GetVolume().GetVolumeInfo().Serial.c_str());
// File System
SetDlgItemText (Dlg, IDC_FILESYSTEM, Defrag->GetVolume().GetVolumeInfo().FileSystem.c_str());
// DiskSizeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.DiskSizeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.DiskSizeBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_DISKSIZEBYTES, Text);
// DiskFreeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Defrag->GetVolume().GetVolumeInfo().FreeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Defrag->GetVolume().GetVolumeInfo().FreeBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_DISKFREEBYTES, Text);
// DiskSizeClusters
AddCommas (Text, Defrag->GetVolume().GetVolumeInfo().ClusterCount);
wcscat (Text, L" clusters");
SetDlgItemText (Dlg, IDC_DISKSIZECLUSTERS, Text);
// DiskClusterSize
swprintf (Text, L"%u bytes", Defrag->GetVolume().GetVolumeInfo().ClusterSize);
SetDlgItemText (Dlg, IDC_DISKCLUSTERSIZE, Text);
// DirsCount
AddCommas (Text, Report.DirsCount);
SetDlgItemText (Dlg, IDC_DIRSCOUNT, Text);
// FilesCount
AddCommas (Text, Report.FilesCount);
SetDlgItemText (Dlg, IDC_FILESCOUNT, Text);
// FilesFragged
swprintf (Text, L"(%.2f%%)", Report.PercentFragged);
AddCommas (Text2, Report.FraggedFiles.size());
swprintf (Text3, L"%s %s", Text, Text2);
SetDlgItemText (Dlg, IDC_FILESFRAGGED, Text3);
// Average Frags
swprintf (Text, L"%.2f", Report.AverageFragments);
SetDlgItemText (Dlg, IDC_AVERAGEFRAGS, Text);
// FilesSizeBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.FilesSizeBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.FilesSizeBytes / (uint64)BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_FILESSIZEBYTES, Text);
// Files SizeOnDisk
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)((Report.FilesSizeBytes + Report.FilesSlackBytes) /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, (Report.FilesSizeBytes + Report.FilesSlackBytes) / (uint64)BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
SetDlgItemText (Dlg, IDC_FILESSIZEONDISK, Text);
// FilesSlackBytes
if (Fractional)
{
swprintf (Text, L"%.2f %s", (double)(signed)(Report.FilesSlackBytes /
(BytesDivisor / 1024)) / 1024.0, BytesUnits);
}
else
{
AddCommas (Text, Report.FilesSlackBytes / BytesDivisor);
wcscat (Text, L" ");
wcscat (Text, BytesUnits);
}
swprintf (Text2, L"(%.2f%%)", Report.PercentSlack);
swprintf (Text3, L"%s %s", Text2, Text);
SetDlgItemText (Dlg, IDC_FILESSLACKBYTES, Text3);
// Recommendation
bool PFRec = false; // Recommend based off percent fragged files?
bool AFRec = false; // Recommend based off average fragments per file?
if (Report.PercentFragged >= 5.0f)
PFRec = true;
if (Report.AverageFragments >= 1.1f)
AFRec = true;
wcscpy (Text, L"* ");
if (PFRec)
{
swprintf
(
Text2,
L"%.2f%% of the files on this volume are fragmented. ",
Report.PercentFragged
);
wcscat (Text, Text2);
}
if (AFRec)
{
swprintf
(
Text2,
L"The average fragments per file (%.2f) indicates a high degree of fragmentation. ",
Report.AverageFragments
);
wcscat (Text, Text2);
}
if (Report.PercentFragged < 5.0f && Report.AverageFragments < 1.1f)
swprintf (Text, L"* No defragmentation is necessary at this point.");
else
if (Report.PercentFragged < 15.0f && Report.AverageFragments < 1.3f)
wcscat (Text, L"It is recommended that you perform a Fast Defrag.");
else
wcscat (Text, L"It is recommended that you perform an Extensive Defrag.");
// Should we recommend a smaller cluster size?
if (Report.PercentSlack >= 10.0f)
{
swprintf
(
Text2,
L"\n* A large amount of disk space (%.2f%%) is being lost "
L"due to a large (%u bytes) cluster size. It is recommended "
L"that you use a disk utility such as Partition Magic to "
L"reduce the cluster size of this volume.",
Report.PercentSlack,
Defrag->GetVolume().GetVolumeInfo().ClusterSize
);
wcscat (Text, Text2);
}
SetDlgItemText (Dlg, IDC_RECOMMEND, Text);
return;
}
INT_PTR CALLBACK ReportDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam)
{
switch (Msg)
{
case WM_INITDIALOG:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1, L"bytes", false);
return (1);
case WM_COMMAND:
switch (LOWORD(WParam))
{
case IDC_REPORTOK:
EndDialog (Dlg, 0);
return (1);
case IDC_GIGABYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024*1024*1024, L"GB", true);
return (1);
case IDC_MEGABYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024*1024, L"MB", false);
return (1);
case IDC_KILOBYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1024, L"KB", false);
return (1);
case IDC_BYTES:
SetReportInfo (Dlg, Defrag->GetDefragReport (), 1, L"bytes", false);
return (1);
}
}
return (0);
}

View File

@@ -1,18 +1,18 @@
/*****************************************************************************
ReportDialog
*****************************************************************************/
#ifndef REPORTDIALOG_H
#define REPORTDIALOG_H
#include <windows.h>
INT_PTR CALLBACK ReportDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam);
#endif // REPORTDIALOG_H
/*****************************************************************************
ReportDialog
*****************************************************************************/
#ifndef REPORTDIALOG_H
#define REPORTDIALOG_H
#include <windows.h>
INT_PTR CALLBACK ReportDialogProc (HWND Dlg, UINT Msg, WPARAM WParam, LPARAM LParam);
#endif // REPORTDIALOG_H

View File

@@ -1,464 +1,464 @@
/*****************************************************************************
Unfrag
*****************************************************************************/
#include "Unfrag.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include <process.h>
bool QuietMode = false;
bool VerboseMode = false;
// Makes sure we're in Windows 2000
bool CheckWinVer (void)
{
OSVERSIONINFO OSVersion;
ZeroMemory (&OSVersion, sizeof (OSVersion));
OSVersion.dwOSVersionInfoSize = sizeof (OSVersion);
GetVersionEx (&OSVersion);
// Need Windows 2000!
// Check for NT first
// Actually what we do is check that weLL're not on Win31+Win32s and that we're
// not in Windows 9x. It's possible that there could be more Windows "platforms"
// in the future and there's no sense in claiming incompatibility.
if (OSVersion.dwPlatformId == VER_PLATFORM_WIN32s ||
OSVersion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
return (false);
}
// Ok weLL're in Windows NT, now make sure we're in 2000
if (OSVersion.dwMajorVersion < 5)
return (false);
// Kew, we're in at least Windows 2000 ("NT 5.0")
return (true);
}
wchar_t *AddCommas (wchar_t *Result, uint64 Number)
{
wchar_t Temp[128];
int TempLen;
//wchar_t *p = NULL;
int AddCommas = 0;
wchar_t *StrPosResult = NULL;
wchar_t *StrPosOrig = NULL;
// we get the string form of the number, then we count down w/ AddCommas
// while copying the string from Temp1 to Result. when AddCommas % 3 == 1,
// slap in a commas as well, before the #.
swprintf (Temp, L"%I64u", Number);
AddCommas = TempLen = wcslen (Temp);
StrPosOrig = Temp;
StrPosResult = Result;
while (AddCommas)
{
if ((AddCommas % 3) == 0 && AddCommas != TempLen) // avoid stuff like ",345"
{
*StrPosResult = L',';
StrPosResult++;
}
*StrPosResult = *StrPosOrig;
StrPosResult++;
StrPosOrig++;
*StrPosResult = 0;
AddCommas--;
}
return (Result);
}
void PrintBanner (void)
{
wprintf (L"%s v%s\n", APPNAME_CLI, APPVER_STR);
wprintf (L"%s\n", APPCOPYRIGHT);
wprintf (L"\n");
return;
}
void FraggerHelp (void)
{
wprintf (L"Usage: unfrag drive: [...] <-f | -e>\n");
wprintf (L"\n");
wprintf (L"drive: : The drive to defrag. Should be two characters long, ie 'c:' or 'd:'.\n");
wprintf (L" Multiple drives may be given, and all will be simultaneously\n");
wprintf (L" defragmented using the same options.\n");
wprintf (L"-f : Do a fast defragmentation. Files that are not fragmented will not be\n");
wprintf (L" moved. Only one pass is made over the file list. Using this option\n");
wprintf (L" may result in not all files being defragmented, depending on\n");
wprintf (L" available disk space.\n");
wprintf (L"-e : Do an extensive defragmention. Files will be moved in an attempt to\n");
wprintf (L" defragment both files and free space.\n");
if (!CheckWinVer())
{
wprintf (L"\n");
wprintf (L"NOTE: This program requires Windows 2000, which is not presently running on\n");
wprintf (L"this system.\n");
}
return;
}
void __cdecl DefragThread (LPVOID parm)
{
Defragment *Defrag;
Defrag = (Defragment *) parm;
Defrag->Start ();
_endthread ();
return;
}
Defragment *StartDefragThread (wstring Drive, DefragType Method, HANDLE &Handle)
{
Defragment *Defragger;
unsigned long Thread;
Defragger = new Defragment (Drive, Method);
//Thread = /*CreateThread*/ _beginthreadex (NULL, 0, DefragThread, Defragger, 0, &ThreadID);
Thread = _beginthread (DefragThread, 0, Defragger);
Handle = *((HANDLE *)&Thread);
return (Defragger);
}
#ifdef _CUI_
// Main Initialization
extern "C" int wmain (int argc, wchar_t **argv)
{
vector<wstring> Drives;
vector<Defragment *> Defrags;
DefragType DefragMode = DefragInvalid;
PrintBanner ();
// Parse command line arguments
bool ValidCmdLine = false;
for (int c = 0; c < argc; c++)
{
if (wcslen(argv[c]) == 2 && argv[c][1] == L':')
{
Drives.push_back (_wcsupr(argv[c]));
}
else
if ((argv[c][0] == L'-' || argv[c][0] == L'/') && wcslen(argv[c]) == 2)
{
switch (tolower(argv[c][1]))
{
case L'?' :
case L'h' :
FraggerHelp ();
return (0);
case L'f' :
if (DefragMode != DefragInvalid)
{
ValidCmdLine = false;
break;
}
DefragMode = DefragFast;
ValidCmdLine = true;
break;
case L'e' :
if (DefragMode != DefragInvalid)
{
ValidCmdLine = false;
break;
}
DefragMode = DefragExtensive;
ValidCmdLine = true;
break;
}
}
}
if (DefragMode == DefragInvalid)
ValidCmdLine = false;
if (!ValidCmdLine)
{
wprintf (L"Invalid command-line options. Use '%s -?' for help.\n", argv[0]);
return (0);
}
// Check OS requirements
if (!CheckWinVer())
{
wprintf (L"Fatal Error: This program requires Windows 2000.\n");
return (0);
}
for (size_t d = 0; d < Drives.size (); d++)
{
HANDLE TossMe;
Defrags.push_back (StartDefragThread (Drives[d], DefragMode, TossMe));
}
for (size_t d = 0; d < Drives.size () - 1; d++)
wprintf (L"\n ");
bool Continue = true;
HANDLE Screen;
Screen = GetStdHandle (STD_OUTPUT_HANDLE);
while (Continue)
{
Sleep (25);
// Get current screen coords
CONSOLE_SCREEN_BUFFER_INFO ScreenInfo;
GetConsoleScreenBufferInfo (Screen, &ScreenInfo);
// Now set back to the beginning
ScreenInfo.dwCursorPosition.X = 0;
ScreenInfo.dwCursorPosition.Y -= Drives.size();
SetConsoleCursorPosition (Screen, ScreenInfo.dwCursorPosition);
for (size_t d = 0; d < Drives.size (); d++)
{
wprintf (L"\n%6.2f%% %-70s", Defrags[d]->GetStatusPercent(), Defrags[d]->GetStatusString().c_str());
}
// Determine if we should keep going
Continue = false;
for (size_t d = 0; d < Drives.size (); d++)
{
if (!Defrags[d]->IsDoneYet() && !Defrags[d]->HasError())
Continue = true;
}
}
#if 0
// Loop through the drives list
for (int d = 0; d < Drives.size(); d++)
{
DriveVolume *Drive;
Drive = new DriveVolume;
// First thing: build a file list.
wprintf (L"Opening volume %s ...", Drives[d].c_str());
if (!Drive->Open (Drives[d]))
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Getting drive bitmap ...");
if (!Drive->GetBitmap ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Obtaining drive geometry ...");
if (!Drive->ObtainInfo ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Building file database for drive %s ...", Drives[d].c_str());
if (!Drive->BuildFileList ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" %u files\n", Drive->GetDBFileCount ());
// Analyze only?
if (DefragMode == DefragAnalyze)
{
uint64 UsedBytes = 0; // total bytes used, with cluster size considerations
uint64 TotalBytes = 0; // total bytes used
uint64 SlackBytes = 0; // wasted space due to slack
uint32 Fragged = 0; // fragmented files
wprintf (L" Analyzing ...");
if (VerboseMode)
wprintf (L"\n");
for (int i = 0; i < Drive->GetDBFileCount(); i++)
{
uint64 Used;
uint64 Slack;
FileInfo Info;
Info = Drive->GetDBFile (i);
// Compute total used disk space
Used = ((Info.Size + Drive->GetClusterSize() - 1) / Drive->GetClusterSize()) * Drive->GetClusterSize();
Slack = Used - Info.Size;
UsedBytes += Used;
SlackBytes += Slack;
TotalBytes += Info.Size;
if (VerboseMode)
{
wprintf (L" %s%s, ", Drive->GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str());
if (Info.Attributes.AccessDenied)
wprintf (L"access was denied\n");
else
{
if (Info.Attributes.Unmovable == 1)
wprintf (L"unmovable, ");
wprintf (L"%I64u bytes, %I64u bytes on disk, %I64u bytes slack, %u fragments\n",
Info.Size, Used, Slack, Info.Fragments.size());
}
}
if (Info.Fragments.size() > 1)
Fragged++;
}
if (!VerboseMode)
wprintf (L"\n");
// TODO: Make it not look like ass
wprintf (L"\n");
wprintf (L" Overall Analysis\n");
wprintf (L" ----------------\n");
wprintf (L" %u clusters\n", Drive->GetClusterCount ());
wprintf (L" %u bytes per cluster\n", Drive->GetClusterSize());
wprintf (L" %I64u total bytes on drive\n", (uint64)Drive->GetClusterCount() * (uint64)Drive->GetClusterSize());
wprintf (L"\n");
wprintf (L" %u files\n", Drive->GetDBFileCount ());
wprintf (L" %u contiguous files\n", Drive->GetDBFileCount () - Fragged);
wprintf (L" %u fragmented files\n", Fragged);
wprintf (L"\n");
wprintf (L" %I64u bytes\n", TotalBytes);
wprintf (L" %I64u bytes on disk\n", UsedBytes);
wprintf (L" %I64u bytes slack\n", SlackBytes);
}
// Fast defragment!
if (DefragMode == DefragFast || DefragMode == DefragExtensive)
{
uint32 i;
uint64 FirstFreeLCN;
wchar_t PrintName[80];
int Width = 66;
if (DefragMode == DefragFast)
wprintf (L" Performing fast file defragmentation ...\n");
else
if (DefragMode == DefragExtensive)
wprintf (L" Performing extensive file defragmentation\n");
// Find first free LCN for speedier searches ...
Drive->FindFreeRange (0, 1, FirstFreeLCN);
for (i = 0; i < Drive->GetDBFileCount(); i++)
{
FileInfo Info;
bool Result;
uint64 TargetLCN;
wprintf (L"\r");
Info = Drive->GetDBFile (i);
FitName (PrintName, Drive->GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str(), Width);
wprintf (L" %6.2f%% %-66s", (float)i / (float)Drive->GetDBFileCount() * 100.0f, PrintName);
// Can't defrag 0 byte files :)
if (Info.Fragments.size() == 0)
continue;
// If doing fast defrag, skip non-fragmented files
if (Info.Fragments.size() == 1 && DefragMode == DefragFast)
continue;
// Find a place that can fit the file
Result = Drive->FindFreeRange (FirstFreeLCN, Info.Clusters, TargetLCN);
// If we're doing an extensive defrag and the file is already defragmented
// and if its new location would be after its current location, don't
// move it.
if (DefragMode == DefragExtensive && Info.Fragments.size() == 1)
{
if (TargetLCN > Info.Fragments[0].StartLCN)
continue;
}
// Otherwise, defrag0rize it!
if (Result)
{
bool Success = false;
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
else
{ // hmm, look for another area to move it to
Result = Drive->FindFreeRange (TargetLCN + 1, Info.Clusters, TargetLCN);
if (Result)
{
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
else
{ // Try updating the drive bitmap
if (Drive->GetBitmap ())
{
Result = Drive->FindFreeRange (0, Info.Clusters, TargetLCN);
if (Result)
{
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
}
}
}
}
}
if (!Success)
wprintf (L"\n -> failed\n");
Drive->FindFreeRange (0, 1, FirstFreeLCN);
}
}
wprintf (L"\n");
}
wprintf (L"Closing volume %s ...", Drives[d].c_str());
delete Drive;
wprintf (L"\n");
}
#endif
return (0);
}
#endif
/*****************************************************************************
Unfrag
*****************************************************************************/
#include "Unfrag.h"
#include "DriveVolume.h"
#include "Defragment.h"
#include <process.h>
bool QuietMode = false;
bool VerboseMode = false;
// Makes sure we're in Windows 2000
bool CheckWinVer (void)
{
OSVERSIONINFO OSVersion;
ZeroMemory (&OSVersion, sizeof (OSVersion));
OSVersion.dwOSVersionInfoSize = sizeof (OSVersion);
GetVersionEx (&OSVersion);
// Need Windows 2000!
// Check for NT first
// Actually what we do is check that weLL're not on Win31+Win32s and that we're
// not in Windows 9x. It's possible that there could be more Windows "platforms"
// in the future and there's no sense in claiming incompatibility.
if (OSVersion.dwPlatformId == VER_PLATFORM_WIN32s ||
OSVersion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
return (false);
}
// Ok weLL're in Windows NT, now make sure we're in 2000
if (OSVersion.dwMajorVersion < 5)
return (false);
// Kew, we're in at least Windows 2000 ("NT 5.0")
return (true);
}
wchar_t *AddCommas (wchar_t *Result, uint64 Number)
{
wchar_t Temp[128];
int TempLen;
//wchar_t *p = NULL;
int AddCommas = 0;
wchar_t *StrPosResult = NULL;
wchar_t *StrPosOrig = NULL;
// we get the string form of the number, then we count down w/ AddCommas
// while copying the string from Temp1 to Result. when AddCommas % 3 == 1,
// slap in a commas as well, before the #.
swprintf (Temp, L"%I64u", Number);
AddCommas = TempLen = wcslen (Temp);
StrPosOrig = Temp;
StrPosResult = Result;
while (AddCommas)
{
if ((AddCommas % 3) == 0 && AddCommas != TempLen) // avoid stuff like ",345"
{
*StrPosResult = L',';
StrPosResult++;
}
*StrPosResult = *StrPosOrig;
StrPosResult++;
StrPosOrig++;
*StrPosResult = 0;
AddCommas--;
}
return (Result);
}
void PrintBanner (void)
{
wprintf (L"%s v%s\n", APPNAME_CLI, APPVER_STR);
wprintf (L"%s\n", APPCOPYRIGHT);
wprintf (L"\n");
return;
}
void FraggerHelp (void)
{
wprintf (L"Usage: unfrag drive: [...] <-f | -e>\n");
wprintf (L"\n");
wprintf (L"drive: : The drive to defrag. Should be two characters long, ie 'c:' or 'd:'.\n");
wprintf (L" Multiple drives may be given, and all will be simultaneously\n");
wprintf (L" defragmented using the same options.\n");
wprintf (L"-f : Do a fast defragmentation. Files that are not fragmented will not be\n");
wprintf (L" moved. Only one pass is made over the file list. Using this option\n");
wprintf (L" may result in not all files being defragmented, depending on\n");
wprintf (L" available disk space.\n");
wprintf (L"-e : Do an extensive defragmention. Files will be moved in an attempt to\n");
wprintf (L" defragment both files and free space.\n");
if (!CheckWinVer())
{
wprintf (L"\n");
wprintf (L"NOTE: This program requires Windows 2000, which is not presently running on\n");
wprintf (L"this system.\n");
}
return;
}
void __cdecl DefragThread (LPVOID parm)
{
Defragment *Defrag;
Defrag = (Defragment *) parm;
Defrag->Start ();
_endthread ();
return;
}
Defragment *StartDefragThread (wstring Drive, DefragType Method, HANDLE &Handle)
{
Defragment *Defragger;
unsigned long Thread;
Defragger = new Defragment (Drive, Method);
//Thread = /*CreateThread*/ _beginthreadex (NULL, 0, DefragThread, Defragger, 0, &ThreadID);
Thread = _beginthread (DefragThread, 0, Defragger);
Handle = *((HANDLE *)&Thread);
return (Defragger);
}
#ifdef _CUI_
// Main Initialization
extern "C" int wmain (int argc, wchar_t **argv)
{
vector<wstring> Drives;
vector<Defragment *> Defrags;
DefragType DefragMode = DefragInvalid;
PrintBanner ();
// Parse command line arguments
bool ValidCmdLine = false;
for (int c = 0; c < argc; c++)
{
if (wcslen(argv[c]) == 2 && argv[c][1] == L':')
{
Drives.push_back (_wcsupr(argv[c]));
}
else
if ((argv[c][0] == L'-' || argv[c][0] == L'/') && wcslen(argv[c]) == 2)
{
switch (tolower(argv[c][1]))
{
case L'?' :
case L'h' :
FraggerHelp ();
return (0);
case L'f' :
if (DefragMode != DefragInvalid)
{
ValidCmdLine = false;
break;
}
DefragMode = DefragFast;
ValidCmdLine = true;
break;
case L'e' :
if (DefragMode != DefragInvalid)
{
ValidCmdLine = false;
break;
}
DefragMode = DefragExtensive;
ValidCmdLine = true;
break;
}
}
}
if (DefragMode == DefragInvalid)
ValidCmdLine = false;
if (!ValidCmdLine)
{
wprintf (L"Invalid command-line options. Use '%s -?' for help.\n", argv[0]);
return (0);
}
// Check OS requirements
if (!CheckWinVer())
{
wprintf (L"Fatal Error: This program requires Windows 2000.\n");
return (0);
}
for (size_t d = 0; d < Drives.size (); d++)
{
HANDLE TossMe;
Defrags.push_back (StartDefragThread (Drives[d], DefragMode, TossMe));
}
for (size_t d = 0; d < Drives.size () - 1; d++)
wprintf (L"\n ");
bool Continue = true;
HANDLE Screen;
Screen = GetStdHandle (STD_OUTPUT_HANDLE);
while (Continue)
{
Sleep (25);
// Get current screen coords
CONSOLE_SCREEN_BUFFER_INFO ScreenInfo;
GetConsoleScreenBufferInfo (Screen, &ScreenInfo);
// Now set back to the beginning
ScreenInfo.dwCursorPosition.X = 0;
ScreenInfo.dwCursorPosition.Y -= Drives.size();
SetConsoleCursorPosition (Screen, ScreenInfo.dwCursorPosition);
for (size_t d = 0; d < Drives.size (); d++)
{
wprintf (L"\n%6.2f%% %-70s", Defrags[d]->GetStatusPercent(), Defrags[d]->GetStatusString().c_str());
}
// Determine if we should keep going
Continue = false;
for (size_t d = 0; d < Drives.size (); d++)
{
if (!Defrags[d]->IsDoneYet() && !Defrags[d]->HasError())
Continue = true;
}
}
#if 0
// Loop through the drives list
for (int d = 0; d < Drives.size(); d++)
{
DriveVolume *Drive;
Drive = new DriveVolume;
// First thing: build a file list.
wprintf (L"Opening volume %s ...", Drives[d].c_str());
if (!Drive->Open (Drives[d]))
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Getting drive bitmap ...");
if (!Drive->GetBitmap ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Obtaining drive geometry ...");
if (!Drive->ObtainInfo ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" Building file database for drive %s ...", Drives[d].c_str());
if (!Drive->BuildFileList ())
{
wprintf (L"FAILED\n\n");
delete Drive;
continue;
}
wprintf (L"\n");
wprintf (L" %u files\n", Drive->GetDBFileCount ());
// Analyze only?
if (DefragMode == DefragAnalyze)
{
uint64 UsedBytes = 0; // total bytes used, with cluster size considerations
uint64 TotalBytes = 0; // total bytes used
uint64 SlackBytes = 0; // wasted space due to slack
uint32 Fragged = 0; // fragmented files
wprintf (L" Analyzing ...");
if (VerboseMode)
wprintf (L"\n");
for (int i = 0; i < Drive->GetDBFileCount(); i++)
{
uint64 Used;
uint64 Slack;
FileInfo Info;
Info = Drive->GetDBFile (i);
// Compute total used disk space
Used = ((Info.Size + Drive->GetClusterSize() - 1) / Drive->GetClusterSize()) * Drive->GetClusterSize();
Slack = Used - Info.Size;
UsedBytes += Used;
SlackBytes += Slack;
TotalBytes += Info.Size;
if (VerboseMode)
{
wprintf (L" %s%s, ", Drive->GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str());
if (Info.Attributes.AccessDenied)
wprintf (L"access was denied\n");
else
{
if (Info.Attributes.Unmovable == 1)
wprintf (L"unmovable, ");
wprintf (L"%I64u bytes, %I64u bytes on disk, %I64u bytes slack, %u fragments\n",
Info.Size, Used, Slack, Info.Fragments.size());
}
}
if (Info.Fragments.size() > 1)
Fragged++;
}
if (!VerboseMode)
wprintf (L"\n");
// TODO: Make it not look like ass
wprintf (L"\n");
wprintf (L" Overall Analysis\n");
wprintf (L" ----------------\n");
wprintf (L" %u clusters\n", Drive->GetClusterCount ());
wprintf (L" %u bytes per cluster\n", Drive->GetClusterSize());
wprintf (L" %I64u total bytes on drive\n", (uint64)Drive->GetClusterCount() * (uint64)Drive->GetClusterSize());
wprintf (L"\n");
wprintf (L" %u files\n", Drive->GetDBFileCount ());
wprintf (L" %u contiguous files\n", Drive->GetDBFileCount () - Fragged);
wprintf (L" %u fragmented files\n", Fragged);
wprintf (L"\n");
wprintf (L" %I64u bytes\n", TotalBytes);
wprintf (L" %I64u bytes on disk\n", UsedBytes);
wprintf (L" %I64u bytes slack\n", SlackBytes);
}
// Fast defragment!
if (DefragMode == DefragFast || DefragMode == DefragExtensive)
{
uint32 i;
uint64 FirstFreeLCN;
wchar_t PrintName[80];
int Width = 66;
if (DefragMode == DefragFast)
wprintf (L" Performing fast file defragmentation ...\n");
else
if (DefragMode == DefragExtensive)
wprintf (L" Performing extensive file defragmentation\n");
// Find first free LCN for speedier searches ...
Drive->FindFreeRange (0, 1, FirstFreeLCN);
for (i = 0; i < Drive->GetDBFileCount(); i++)
{
FileInfo Info;
bool Result;
uint64 TargetLCN;
wprintf (L"\r");
Info = Drive->GetDBFile (i);
FitName (PrintName, Drive->GetDBDir (Info.DirIndice).c_str(), Info.Name.c_str(), Width);
wprintf (L" %6.2f%% %-66s", (float)i / (float)Drive->GetDBFileCount() * 100.0f, PrintName);
// Can't defrag 0 byte files :)
if (Info.Fragments.size() == 0)
continue;
// If doing fast defrag, skip non-fragmented files
if (Info.Fragments.size() == 1 && DefragMode == DefragFast)
continue;
// Find a place that can fit the file
Result = Drive->FindFreeRange (FirstFreeLCN, Info.Clusters, TargetLCN);
// If we're doing an extensive defrag and the file is already defragmented
// and if its new location would be after its current location, don't
// move it.
if (DefragMode == DefragExtensive && Info.Fragments.size() == 1)
{
if (TargetLCN > Info.Fragments[0].StartLCN)
continue;
}
// Otherwise, defrag0rize it!
if (Result)
{
bool Success = false;
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
else
{ // hmm, look for another area to move it to
Result = Drive->FindFreeRange (TargetLCN + 1, Info.Clusters, TargetLCN);
if (Result)
{
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
else
{ // Try updating the drive bitmap
if (Drive->GetBitmap ())
{
Result = Drive->FindFreeRange (0, Info.Clusters, TargetLCN);
if (Result)
{
if (Drive->MoveFileDumb (i, TargetLCN))
Success = true;
}
}
}
}
}
if (!Success)
wprintf (L"\n -> failed\n");
Drive->FindFreeRange (0, 1, FirstFreeLCN);
}
}
wprintf (L"\n");
}
wprintf (L"Closing volume %s ...", Drives[d].c_str());
delete Drive;
wprintf (L"\n");
}
#endif
return (0);
}
#endif

View File

@@ -1,86 +1,86 @@
/*****************************************************************************
Unfrag
*****************************************************************************/
#ifndef UNFRAG_H
#define UNFRAG_H
// Blah blah blah your template name is too long ... SO WHAT
#ifdef _MSC_VER
#pragma warning (disable: 4786)
#endif
// I forget what this disables
#ifdef __ICL
#pragma warning (disable: 268)
#endif
// Hello Mr. Platform SDK, please let us use Windows 2000 only features
#if 0
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
#endif
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string>
//#include <initguid.h>
#include <winioctl.h>
#define APPNAME_CLI L"Unfrag"
#define APPNAME_GUI L"Fraginator"
#define APPVER_STR L"1.03"
#define APPVER_NUM 1.03f
#define APPAUTHOR L"Rick Brewster"
#define APPCOPYRIGHT L"Copyright 2000-2002 Rick Brewster"
#include <vector>
#include <string>
using namespace std;
typedef unsigned __int8 uint8;
typedef signed __int8 sint8;
typedef unsigned __int16 uint16;
typedef signed __int16 sint16;
typedef unsigned __int32 uint32;
typedef signed __int32 sint32;
typedef unsigned __int64 uint64;
typedef signed __int64 sint64;
typedef unsigned char uchar;
extern bool QuietMode;
extern bool VerboseMode;
typedef enum
{
DefragInvalid,
DefragFast,
DefragExtensive,
DefragAnalyze
} DefragType;
extern bool CheckWinVer (void);
class Defragment;
extern Defragment *StartDefragThread (wstring Drive, DefragType Method, HANDLE &Handle);
extern wchar_t *AddCommas (wchar_t *Result, uint64 Number);
#endif // UNFRAG_H
/*****************************************************************************
Unfrag
*****************************************************************************/
#ifndef UNFRAG_H
#define UNFRAG_H
// Blah blah blah your template name is too long ... SO WHAT
#ifdef _MSC_VER
#pragma warning (disable: 4786)
#endif
// I forget what this disables
#ifdef __ICL
#pragma warning (disable: 268)
#endif
// Hello Mr. Platform SDK, please let us use Windows 2000 only features
#if 0
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
#endif
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string>
//#include <initguid.h>
#include <winioctl.h>
#define APPNAME_CLI L"Unfrag"
#define APPNAME_GUI L"Fraginator"
#define APPVER_STR L"1.03"
#define APPVER_NUM 1.03f
#define APPAUTHOR L"Rick Brewster"
#define APPCOPYRIGHT L"Copyright 2000-2002 Rick Brewster"
#include <vector>
#include <string>
using namespace std;
typedef unsigned __int8 uint8;
typedef signed __int8 sint8;
typedef unsigned __int16 uint16;
typedef signed __int16 sint16;
typedef unsigned __int32 uint32;
typedef signed __int32 sint32;
typedef unsigned __int64 uint64;
typedef signed __int64 sint64;
typedef unsigned char uchar;
extern bool QuietMode;
extern bool VerboseMode;
typedef enum
{
DefragInvalid,
DefragFast,
DefragExtensive,
DefragAnalyze
} DefragType;
extern bool CheckWinVer (void);
class Defragment;
extern Defragment *StartDefragThread (wstring Drive, DefragType Method, HANDLE &Handle);
extern wchar_t *AddCommas (wchar_t *Result, uint64 Number);
#endif // UNFRAG_H

View File

@@ -1,51 +1,51 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Fraginator.rc
//
#define IDD_DIALOG1 101
#define IDD_MAIN 101
#define IDD_REPORT 106
#define IDB_LOGO 110
#define IDI_ICON 114
#define IDC_QUIT 1010
#define IDC_STARTSTOP 1014
#define IDC_METHODS_LIST 1016
#define IDC_DRIVES_LIST 1019
#define IDC_PROGRESS 1021
#define IDC_PERCENT 1022
#define IDC_STATUS 1023
#define IDC_DISKSIZEBYTES 1027
#define IDC_DRIVELETTER 1028
#define IDC_REPORTOK 1029
#define IDC_DISKSIZECLUSTERS 1030
#define IDC_DISKCLUSTERSIZE 1031
#define IDC_FILESYSTEM 1032
#define IDC_WISECRACKS 1033
#define IDC_VOLUMELABEL 1033
#define IDC_VOLUMESERIAL 1034
#define IDC_BYTES 1035
#define IDC_KILOBYTES 1036
#define IDC_RECOMMEND 1037
#define IDC_FILESCOUNT 1038
#define IDC_FILESSIZEBYTES 1039
#define IDC_FILESSIZEONDISK 1040
#define IDC_FILESSLACKBYTES 1041
#define IDC_GIGABYTES 1043
#define IDC_DISKFREEBYTES 1044
#define IDC_MEGABYTES 1045
#define IDC_FILESFRAGGED 1047
#define IDC_DIRSCOUNT 1048
#define IDC_AVERAGEFRAGS 1049
#define ID_MAIN_HELP 1054
#define IDC_PRIORITY_LIST 1057
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 118
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1058
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by Fraginator.rc
//
#define IDD_DIALOG1 101
#define IDD_MAIN 101
#define IDD_REPORT 106
#define IDB_LOGO 110
#define IDI_ICON 114
#define IDC_QUIT 1010
#define IDC_STARTSTOP 1014
#define IDC_METHODS_LIST 1016
#define IDC_DRIVES_LIST 1019
#define IDC_PROGRESS 1021
#define IDC_PERCENT 1022
#define IDC_STATUS 1023
#define IDC_DISKSIZEBYTES 1027
#define IDC_DRIVELETTER 1028
#define IDC_REPORTOK 1029
#define IDC_DISKSIZECLUSTERS 1030
#define IDC_DISKCLUSTERSIZE 1031
#define IDC_FILESYSTEM 1032
#define IDC_WISECRACKS 1033
#define IDC_VOLUMELABEL 1033
#define IDC_VOLUMESERIAL 1034
#define IDC_BYTES 1035
#define IDC_KILOBYTES 1036
#define IDC_RECOMMEND 1037
#define IDC_FILESCOUNT 1038
#define IDC_FILESSIZEBYTES 1039
#define IDC_FILESSIZEONDISK 1040
#define IDC_FILESSLACKBYTES 1041
#define IDC_GIGABYTES 1043
#define IDC_DISKFREEBYTES 1044
#define IDC_MEGABYTES 1045
#define IDC_FILESFRAGGED 1047
#define IDC_DIRSCOUNT 1048
#define IDC_AVERAGEFRAGS 1049
#define ID_MAIN_HELP 1054
#define IDC_PRIORITY_LIST 1057
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 118
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1058
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,379 +1,379 @@
#include "precomp.h"
#define BASECOLOUR 100
VOID
AdjustBrightness(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal)
{
BITMAPINFO bi;
BITMAP bitmap;
BOOL bRes;
DWORD Count = 0;
INT i, j;
PBYTE pBits;
RECT rc;
GetObject(hNewBitmap,
sizeof(BITMAP),
&bitmap);
/* Bitmap header */
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
bi.bmiHeader.biWidth = bitmap.bmWidth;
bi.bmiHeader.biHeight = bitmap.bmHeight;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = bitmap.bmWidth * bitmap.bmHeight * 4;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
/* Buffer */
pBits = (PBYTE)HeapAlloc(ProcessHeap,
0,
bitmap.bmWidth * bitmap.bmHeight * 4);
if (!pBits)
return;
/* get the bits from the original bitmap */
bRes = GetDIBits(hdcMem,
hOrigBitmap,
0,
bitmap.bmHeight,
pBits,
&bi,
DIB_RGB_COLORS);
for (i = 0; i < bitmap.bmHeight; i++)
{
for (j = 0; j < bitmap.bmWidth; j++)
{
DWORD Val = 0;
INT b, g, r;
CopyMemory(&Val,
&pBits[Count],
4);
/* Get pixels in reverse order */
b = GetRValue(Val);
g = GetGValue(Val);
r = GetBValue(Val);
/* Red */
r += RedVal;
if (r > 255) r = 255;
else if (r < 0) r = 0;
/* Green */
g += GreenVal;
if (g > 255) g = 255;
else if (g < 0) g = 0;
/* Blue */
b += BlueVal;
if (b > 255) b = 255;
else if (b < 0) b = 0;
/* Store in reverse order */
Val = RGB(b, g, r);
CopyMemory(&pBits[Count],
&Val,
4);
/* RGB color take 4 bytes.The high-order byte must be zero */
Count += 4;
}
}
/* Set the new pixel bits */
SetDIBits(hdcMem,
hNewBitmap,
0,
bRes,
pBits,
&bi,
DIB_RGB_COLORS);
HeapFree(ProcessHeap,
0,
pBits);
GetClientRect(hwnd,
&rc);
InvalidateRect(hwnd,
&rc,
FALSE);
}
static PIMAGEADJUST
Bri_OnInitDialog(PIMAGEADJUST pImgAdj,
HWND hDlg,
LPARAM lParam)
{
pImgAdj = (IMAGEADJUST*) HeapAlloc(ProcessHeap,
0,
sizeof(IMAGEADJUST));
if (!pImgAdj)
return NULL;
pImgAdj->Info = (PMAIN_WND_INFO)lParam;
if (!pImgAdj->Info->ImageEditors)
goto fail;
pImgAdj->hPicPrev = GetDlgItem(hDlg, IDC_PICPREVIEW);
GetClientRect(pImgAdj->hPicPrev,
&pImgAdj->ImageRect);
/* Make a static copy of the main image */
pImgAdj->hBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hBitmap)
goto fail;
/* Make a copy which will be updated */
pImgAdj->hPreviewBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hPreviewBitmap)
goto fail;
pImgAdj->RedVal = pImgAdj->BlueVal = pImgAdj->GreenVal = 0;
/* setup dialog */
SendDlgItemMessage(hDlg,
IDC_BRI_FULL,
BM_SETCHECK,
BST_CHECKED,
0);
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETRANGE,
TRUE,
(LPARAM)MAKELONG(0, 200));
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETPOS,
TRUE,
(LPARAM)BASECOLOUR);
SetDlgItemText(hDlg,
IDC_BRI_EDIT,
_T("100"));
return pImgAdj;
fail:
HeapFree(ProcessHeap,
0,
pImgAdj);
return NULL;
}
static VOID
Bri_OnDrawItem(PIMAGEADJUST pImgAdj,
LPARAM lParam)
{
LPDRAWITEMSTRUCT lpDrawItem;
HDC hdcMem;
lpDrawItem = (LPDRAWITEMSTRUCT)lParam;
hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
if(lpDrawItem->CtlID == IDC_PICPREVIEW)
{
SelectObject(hdcMem,
pImgAdj->hPreviewBitmap);
BitBlt(lpDrawItem->hDC,
pImgAdj->ImageRect.left,
pImgAdj->ImageRect.top,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
hdcMem,
0,
0,
SRCCOPY);
DeleteDC(hdcMem);
}
}
static VOID
Bri_OnTrackBar(PIMAGEADJUST pImgAdj,
HWND hDlg)
{
HDC hdcMem;
DWORD TrackPos;
TrackPos = (DWORD)SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_GETPOS,
0,
0);
SetDlgItemInt(hDlg,
IDC_BRI_EDIT,
TrackPos,
FALSE);
if (IsDlgButtonChecked(hDlg, IDC_BRI_FULL) == BST_CHECKED)
{
pImgAdj->RedVal = pImgAdj->GreenVal = pImgAdj->BlueVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_RED) == BST_CHECKED)
{
pImgAdj->RedVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_GREEN) == BST_CHECKED)
{
pImgAdj->GreenVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_BLUE) == BST_CHECKED)
{
pImgAdj->BlueVal = TrackPos - BASECOLOUR;
}
hdcMem = GetDC(pImgAdj->hPicPrev);
AdjustBrightness(pImgAdj->hBitmap,
pImgAdj->hPreviewBitmap,
pImgAdj->hPicPrev,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->hPicPrev, hdcMem);
}
static BOOL
Bri_OnCommand(PIMAGEADJUST pImgAdj,
HWND hDlg,
UINT uID)
{
switch (uID)
{
case IDOK:
{
HDC hdcMem;
hdcMem = GetDC(pImgAdj->Info->ImageEditors->hSelf);
AdjustBrightness(pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hSelf,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->Info->ImageEditors->hSelf,
hdcMem);
EndDialog(hDlg,
uID);
return TRUE;
}
case IDCANCEL:
{
EndDialog(hDlg,
uID);
return TRUE;
}
}
return FALSE;
}
INT_PTR CALLBACK
BrightnessProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
static PIMAGEADJUST pImgAdj = NULL;
switch (message)
{
case WM_INITDIALOG:
{
pImgAdj = Bri_OnInitDialog(pImgAdj,
hDlg,
lParam);
if (!pImgAdj)
{
EndDialog(hDlg, -1);
return FALSE;
}
return TRUE;
}
case WM_DRAWITEM:
{
Bri_OnDrawItem(pImgAdj,
lParam);
return TRUE;
}
case WM_HSCROLL:
{
if (LOWORD(wParam) == TB_THUMBTRACK ||
LOWORD(wParam) == TB_ENDTRACK)
{
Bri_OnTrackBar(pImgAdj,
hDlg);
}
return TRUE;
}
case WM_COMMAND:
{
return Bri_OnCommand(pImgAdj,
hDlg,
LOWORD(wParam));
}
case WM_DESTROY:
{
if (pImgAdj)
{
if (pImgAdj->hBitmap)
DeleteObject(pImgAdj->hBitmap);
if (pImgAdj->hPreviewBitmap)
DeleteObject(pImgAdj->hPreviewBitmap);
HeapFree(ProcessHeap,
0,
pImgAdj);
}
}
}
return FALSE;
}
#include "precomp.h"
#define BASECOLOUR 100
VOID
AdjustBrightness(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal)
{
BITMAPINFO bi;
BITMAP bitmap;
BOOL bRes;
DWORD Count = 0;
INT i, j;
PBYTE pBits;
RECT rc;
GetObject(hNewBitmap,
sizeof(BITMAP),
&bitmap);
/* Bitmap header */
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
bi.bmiHeader.biWidth = bitmap.bmWidth;
bi.bmiHeader.biHeight = bitmap.bmHeight;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = bitmap.bmWidth * bitmap.bmHeight * 4;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
/* Buffer */
pBits = (PBYTE)HeapAlloc(ProcessHeap,
0,
bitmap.bmWidth * bitmap.bmHeight * 4);
if (!pBits)
return;
/* get the bits from the original bitmap */
bRes = GetDIBits(hdcMem,
hOrigBitmap,
0,
bitmap.bmHeight,
pBits,
&bi,
DIB_RGB_COLORS);
for (i = 0; i < bitmap.bmHeight; i++)
{
for (j = 0; j < bitmap.bmWidth; j++)
{
DWORD Val = 0;
INT b, g, r;
CopyMemory(&Val,
&pBits[Count],
4);
/* Get pixels in reverse order */
b = GetRValue(Val);
g = GetGValue(Val);
r = GetBValue(Val);
/* Red */
r += RedVal;
if (r > 255) r = 255;
else if (r < 0) r = 0;
/* Green */
g += GreenVal;
if (g > 255) g = 255;
else if (g < 0) g = 0;
/* Blue */
b += BlueVal;
if (b > 255) b = 255;
else if (b < 0) b = 0;
/* Store in reverse order */
Val = RGB(b, g, r);
CopyMemory(&pBits[Count],
&Val,
4);
/* RGB color take 4 bytes.The high-order byte must be zero */
Count += 4;
}
}
/* Set the new pixel bits */
SetDIBits(hdcMem,
hNewBitmap,
0,
bRes,
pBits,
&bi,
DIB_RGB_COLORS);
HeapFree(ProcessHeap,
0,
pBits);
GetClientRect(hwnd,
&rc);
InvalidateRect(hwnd,
&rc,
FALSE);
}
static PIMAGEADJUST
Bri_OnInitDialog(PIMAGEADJUST pImgAdj,
HWND hDlg,
LPARAM lParam)
{
pImgAdj = (IMAGEADJUST*) HeapAlloc(ProcessHeap,
0,
sizeof(IMAGEADJUST));
if (!pImgAdj)
return NULL;
pImgAdj->Info = (PMAIN_WND_INFO)lParam;
if (!pImgAdj->Info->ImageEditors)
goto fail;
pImgAdj->hPicPrev = GetDlgItem(hDlg, IDC_PICPREVIEW);
GetClientRect(pImgAdj->hPicPrev,
&pImgAdj->ImageRect);
/* Make a static copy of the main image */
pImgAdj->hBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hBitmap)
goto fail;
/* Make a copy which will be updated */
pImgAdj->hPreviewBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hPreviewBitmap)
goto fail;
pImgAdj->RedVal = pImgAdj->BlueVal = pImgAdj->GreenVal = 0;
/* setup dialog */
SendDlgItemMessage(hDlg,
IDC_BRI_FULL,
BM_SETCHECK,
BST_CHECKED,
0);
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETRANGE,
TRUE,
(LPARAM)MAKELONG(0, 200));
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETPOS,
TRUE,
(LPARAM)BASECOLOUR);
SetDlgItemText(hDlg,
IDC_BRI_EDIT,
_T("100"));
return pImgAdj;
fail:
HeapFree(ProcessHeap,
0,
pImgAdj);
return NULL;
}
static VOID
Bri_OnDrawItem(PIMAGEADJUST pImgAdj,
LPARAM lParam)
{
LPDRAWITEMSTRUCT lpDrawItem;
HDC hdcMem;
lpDrawItem = (LPDRAWITEMSTRUCT)lParam;
hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
if(lpDrawItem->CtlID == IDC_PICPREVIEW)
{
SelectObject(hdcMem,
pImgAdj->hPreviewBitmap);
BitBlt(lpDrawItem->hDC,
pImgAdj->ImageRect.left,
pImgAdj->ImageRect.top,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
hdcMem,
0,
0,
SRCCOPY);
DeleteDC(hdcMem);
}
}
static VOID
Bri_OnTrackBar(PIMAGEADJUST pImgAdj,
HWND hDlg)
{
HDC hdcMem;
DWORD TrackPos;
TrackPos = (DWORD)SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_GETPOS,
0,
0);
SetDlgItemInt(hDlg,
IDC_BRI_EDIT,
TrackPos,
FALSE);
if (IsDlgButtonChecked(hDlg, IDC_BRI_FULL) == BST_CHECKED)
{
pImgAdj->RedVal = pImgAdj->GreenVal = pImgAdj->BlueVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_RED) == BST_CHECKED)
{
pImgAdj->RedVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_GREEN) == BST_CHECKED)
{
pImgAdj->GreenVal = TrackPos - BASECOLOUR;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_BLUE) == BST_CHECKED)
{
pImgAdj->BlueVal = TrackPos - BASECOLOUR;
}
hdcMem = GetDC(pImgAdj->hPicPrev);
AdjustBrightness(pImgAdj->hBitmap,
pImgAdj->hPreviewBitmap,
pImgAdj->hPicPrev,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->hPicPrev, hdcMem);
}
static BOOL
Bri_OnCommand(PIMAGEADJUST pImgAdj,
HWND hDlg,
UINT uID)
{
switch (uID)
{
case IDOK:
{
HDC hdcMem;
hdcMem = GetDC(pImgAdj->Info->ImageEditors->hSelf);
AdjustBrightness(pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hSelf,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->Info->ImageEditors->hSelf,
hdcMem);
EndDialog(hDlg,
uID);
return TRUE;
}
case IDCANCEL:
{
EndDialog(hDlg,
uID);
return TRUE;
}
}
return FALSE;
}
INT_PTR CALLBACK
BrightnessProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
static PIMAGEADJUST pImgAdj = NULL;
switch (message)
{
case WM_INITDIALOG:
{
pImgAdj = Bri_OnInitDialog(pImgAdj,
hDlg,
lParam);
if (!pImgAdj)
{
EndDialog(hDlg, -1);
return FALSE;
}
return TRUE;
}
case WM_DRAWITEM:
{
Bri_OnDrawItem(pImgAdj,
lParam);
return TRUE;
}
case WM_HSCROLL:
{
if (LOWORD(wParam) == TB_THUMBTRACK ||
LOWORD(wParam) == TB_ENDTRACK)
{
Bri_OnTrackBar(pImgAdj,
hDlg);
}
return TRUE;
}
case WM_COMMAND:
{
return Bri_OnCommand(pImgAdj,
hDlg,
LOWORD(wParam));
}
case WM_DESTROY:
{
if (pImgAdj)
{
if (pImgAdj->hBitmap)
DeleteObject(pImgAdj->hBitmap);
if (pImgAdj->hPreviewBitmap)
DeleteObject(pImgAdj->hPreviewBitmap);
HeapFree(ProcessHeap,
0,
pImgAdj);
}
}
}
return FALSE;
}

View File

@@ -1,380 +1,380 @@
#include "precomp.h"
#define BASECOLOUR 100
VOID
AdjustContrast(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal)
{
BITMAPINFO bi;
BITMAP bitmap;
BOOL bRes;
DWORD Count = 0;
INT i, j;
PBYTE pBits;
RECT rc;
GetObject(hNewBitmap,
sizeof(BITMAP),
&bitmap);
/* Bitmap header */
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
bi.bmiHeader.biWidth = bitmap.bmWidth;
bi.bmiHeader.biHeight = bitmap.bmHeight;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = bitmap.bmWidth * bitmap.bmHeight * 4;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
/* Buffer */
pBits = (PBYTE)HeapAlloc(ProcessHeap,
0,
bitmap.bmWidth * bitmap.bmHeight * 4);
if (!pBits)
return;
/* get the bits from the original bitmap */
bRes = GetDIBits(hdcMem,
hOrigBitmap,
0,
bitmap.bmHeight,
pBits,
&bi,
DIB_RGB_COLORS);
for (i = 0; i < bitmap.bmHeight; i++)
{
for (j = 0; j < bitmap.bmWidth; j++)
{
DWORD Val = 0;
INT b, g, r;
CopyMemory(&Val,
&pBits[Count],
4);
/* Get pixels in reverse order */
b = GetRValue(Val);
g = GetGValue(Val);
r = GetBValue(Val);
r = ((r - 128) * RedVal) / 100 + 128;
g = ((g - 128) * GreenVal) / 100 + 128;
b = ((b - 128) * BlueVal) / 100 + 128;
/* Red */
if (r > 255) r = 255;
else if (r < 0) r = 0;
/* Green */
if (g > 255) g = 255;
else if (g < 0) g = 0;
/* Blue */
if (b > 255) b = 255;
else if (b < 0) b = 0;
/* Store in reverse order */
Val = RGB(b, g, r);
CopyMemory(&pBits[Count],
&Val,
4);
/* RGB color take 4 bytes.The high-order byte must be zero */
Count += 4;
}
}
/* Set the new pixel bits */
SetDIBits(hdcMem,
hNewBitmap,
0,
bRes,
pBits,
&bi,
DIB_RGB_COLORS);
HeapFree(ProcessHeap,
0,
pBits);
GetClientRect(hwnd,
&rc);
InvalidateRect(hwnd,
&rc,
FALSE);
}
static PIMAGEADJUST
Cont_OnInitDialog(PIMAGEADJUST pImgAdj,
HWND hDlg,
LPARAM lParam)
{
pImgAdj = (IMAGEADJUST*) HeapAlloc(ProcessHeap,
0,
sizeof(IMAGEADJUST));
if (!pImgAdj)
return NULL;
pImgAdj->Info = (PMAIN_WND_INFO)lParam;
if (!pImgAdj->Info->ImageEditors)
goto fail;
pImgAdj->hPicPrev = GetDlgItem(hDlg, IDC_PICPREVIEW);
GetClientRect(pImgAdj->hPicPrev,
&pImgAdj->ImageRect);
/* Make a static copy of the main image */
pImgAdj->hBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hBitmap)
goto fail;
/* Make a copy which will be updated */
pImgAdj->hPreviewBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hPreviewBitmap)
goto fail;
pImgAdj->RedVal = pImgAdj->BlueVal = pImgAdj->GreenVal = 100;
/* setup dialog */
SendDlgItemMessage(hDlg,
IDC_BRI_FULL,
BM_SETCHECK,
BST_CHECKED,
0);
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETRANGE,
TRUE,
(LPARAM)MAKELONG(0, 200));
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETPOS,
TRUE,
(LPARAM)BASECOLOUR);
SetDlgItemText(hDlg,
IDC_BRI_EDIT,
_T("100"));
return pImgAdj;
fail:
HeapFree(ProcessHeap,
0,
pImgAdj);
return NULL;
}
static VOID
Cont_OnDrawItem(PIMAGEADJUST pImgAdj,
LPARAM lParam)
{
LPDRAWITEMSTRUCT lpDrawItem;
HDC hdcMem;
lpDrawItem = (LPDRAWITEMSTRUCT)lParam;
hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
if(lpDrawItem->CtlID == IDC_PICPREVIEW)
{
SelectObject(hdcMem,
pImgAdj->hPreviewBitmap);
BitBlt(lpDrawItem->hDC,
pImgAdj->ImageRect.left,
pImgAdj->ImageRect.top,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
hdcMem,
0,
0,
SRCCOPY);
DeleteDC(hdcMem);
}
}
static VOID
Cont_OnTrackBar(PIMAGEADJUST pImgAdj,
HWND hDlg)
{
HDC hdcMem;
DWORD TrackPos;
TrackPos = (DWORD)SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_GETPOS,
0,
0);
SetDlgItemInt(hDlg,
IDC_BRI_EDIT,
TrackPos,
FALSE);
if (IsDlgButtonChecked(hDlg, IDC_BRI_FULL) == BST_CHECKED)
{
pImgAdj->RedVal = pImgAdj->GreenVal = pImgAdj->BlueVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_RED) == BST_CHECKED)
{
pImgAdj->RedVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_GREEN) == BST_CHECKED)
{
pImgAdj->GreenVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_BLUE) == BST_CHECKED)
{
pImgAdj->BlueVal = TrackPos - BASECOLOUR + 100;
}
hdcMem = GetDC(pImgAdj->hPicPrev);
AdjustContrast(pImgAdj->hBitmap,
pImgAdj->hPreviewBitmap,
pImgAdj->hPicPrev,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->hPicPrev, hdcMem);
}
static BOOL
Cont_OnCommand(PIMAGEADJUST pImgAdj,
HWND hDlg,
UINT uID)
{
switch (uID)
{
case IDOK:
{
HDC hdcMem;
hdcMem = GetDC(pImgAdj->Info->ImageEditors->hSelf);
AdjustContrast(pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hSelf,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->Info->ImageEditors->hSelf,
hdcMem);
EndDialog(hDlg,
uID);
return TRUE;
}
case IDCANCEL:
{
EndDialog(hDlg,
uID);
return TRUE;
}
}
return FALSE;
}
INT_PTR CALLBACK
ContrastProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
static PIMAGEADJUST pImgAdj = NULL;
switch (message)
{
case WM_INITDIALOG:
{
pImgAdj = Cont_OnInitDialog(pImgAdj,
hDlg,
lParam);
if (!pImgAdj)
{
EndDialog(hDlg, -1);
return FALSE;
}
return TRUE;
}
case WM_DRAWITEM:
{
Cont_OnDrawItem(pImgAdj,
lParam);
return TRUE;
}
case WM_HSCROLL:
{
if (LOWORD(wParam) == TB_THUMBTRACK ||
LOWORD(wParam) == TB_ENDTRACK)
{
Cont_OnTrackBar(pImgAdj,
hDlg);
}
return TRUE;
}
case WM_COMMAND:
{
return Cont_OnCommand(pImgAdj,
hDlg,
LOWORD(wParam));
}
case WM_DESTROY:
{
if (pImgAdj)
{
if (pImgAdj->hBitmap)
DeleteObject(pImgAdj->hBitmap);
if (pImgAdj->hPreviewBitmap)
DeleteObject(pImgAdj->hPreviewBitmap);
HeapFree(ProcessHeap,
0,
pImgAdj);
}
}
}
return FALSE;
}
#include "precomp.h"
#define BASECOLOUR 100
VOID
AdjustContrast(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal)
{
BITMAPINFO bi;
BITMAP bitmap;
BOOL bRes;
DWORD Count = 0;
INT i, j;
PBYTE pBits;
RECT rc;
GetObject(hNewBitmap,
sizeof(BITMAP),
&bitmap);
/* Bitmap header */
bi.bmiHeader.biSize = sizeof(bi.bmiHeader);
bi.bmiHeader.biWidth = bitmap.bmWidth;
bi.bmiHeader.biHeight = bitmap.bmHeight;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = bitmap.bmWidth * bitmap.bmHeight * 4;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
/* Buffer */
pBits = (PBYTE)HeapAlloc(ProcessHeap,
0,
bitmap.bmWidth * bitmap.bmHeight * 4);
if (!pBits)
return;
/* get the bits from the original bitmap */
bRes = GetDIBits(hdcMem,
hOrigBitmap,
0,
bitmap.bmHeight,
pBits,
&bi,
DIB_RGB_COLORS);
for (i = 0; i < bitmap.bmHeight; i++)
{
for (j = 0; j < bitmap.bmWidth; j++)
{
DWORD Val = 0;
INT b, g, r;
CopyMemory(&Val,
&pBits[Count],
4);
/* Get pixels in reverse order */
b = GetRValue(Val);
g = GetGValue(Val);
r = GetBValue(Val);
r = ((r - 128) * RedVal) / 100 + 128;
g = ((g - 128) * GreenVal) / 100 + 128;
b = ((b - 128) * BlueVal) / 100 + 128;
/* Red */
if (r > 255) r = 255;
else if (r < 0) r = 0;
/* Green */
if (g > 255) g = 255;
else if (g < 0) g = 0;
/* Blue */
if (b > 255) b = 255;
else if (b < 0) b = 0;
/* Store in reverse order */
Val = RGB(b, g, r);
CopyMemory(&pBits[Count],
&Val,
4);
/* RGB color take 4 bytes.The high-order byte must be zero */
Count += 4;
}
}
/* Set the new pixel bits */
SetDIBits(hdcMem,
hNewBitmap,
0,
bRes,
pBits,
&bi,
DIB_RGB_COLORS);
HeapFree(ProcessHeap,
0,
pBits);
GetClientRect(hwnd,
&rc);
InvalidateRect(hwnd,
&rc,
FALSE);
}
static PIMAGEADJUST
Cont_OnInitDialog(PIMAGEADJUST pImgAdj,
HWND hDlg,
LPARAM lParam)
{
pImgAdj = (IMAGEADJUST*) HeapAlloc(ProcessHeap,
0,
sizeof(IMAGEADJUST));
if (!pImgAdj)
return NULL;
pImgAdj->Info = (PMAIN_WND_INFO)lParam;
if (!pImgAdj->Info->ImageEditors)
goto fail;
pImgAdj->hPicPrev = GetDlgItem(hDlg, IDC_PICPREVIEW);
GetClientRect(pImgAdj->hPicPrev,
&pImgAdj->ImageRect);
/* Make a static copy of the main image */
pImgAdj->hBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hBitmap)
goto fail;
/* Make a copy which will be updated */
pImgAdj->hPreviewBitmap = (HBITMAP) CopyImage(pImgAdj->Info->ImageEditors->hBitmap,
IMAGE_BITMAP,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
LR_CREATEDIBSECTION);
if (!pImgAdj->hPreviewBitmap)
goto fail;
pImgAdj->RedVal = pImgAdj->BlueVal = pImgAdj->GreenVal = 100;
/* setup dialog */
SendDlgItemMessage(hDlg,
IDC_BRI_FULL,
BM_SETCHECK,
BST_CHECKED,
0);
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETRANGE,
TRUE,
(LPARAM)MAKELONG(0, 200));
SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_SETPOS,
TRUE,
(LPARAM)BASECOLOUR);
SetDlgItemText(hDlg,
IDC_BRI_EDIT,
_T("100"));
return pImgAdj;
fail:
HeapFree(ProcessHeap,
0,
pImgAdj);
return NULL;
}
static VOID
Cont_OnDrawItem(PIMAGEADJUST pImgAdj,
LPARAM lParam)
{
LPDRAWITEMSTRUCT lpDrawItem;
HDC hdcMem;
lpDrawItem = (LPDRAWITEMSTRUCT)lParam;
hdcMem = CreateCompatibleDC(lpDrawItem->hDC);
if(lpDrawItem->CtlID == IDC_PICPREVIEW)
{
SelectObject(hdcMem,
pImgAdj->hPreviewBitmap);
BitBlt(lpDrawItem->hDC,
pImgAdj->ImageRect.left,
pImgAdj->ImageRect.top,
pImgAdj->ImageRect.right,
pImgAdj->ImageRect.bottom,
hdcMem,
0,
0,
SRCCOPY);
DeleteDC(hdcMem);
}
}
static VOID
Cont_OnTrackBar(PIMAGEADJUST pImgAdj,
HWND hDlg)
{
HDC hdcMem;
DWORD TrackPos;
TrackPos = (DWORD)SendDlgItemMessage(hDlg,
IDC_BRI_TRACKBAR,
TBM_GETPOS,
0,
0);
SetDlgItemInt(hDlg,
IDC_BRI_EDIT,
TrackPos,
FALSE);
if (IsDlgButtonChecked(hDlg, IDC_BRI_FULL) == BST_CHECKED)
{
pImgAdj->RedVal = pImgAdj->GreenVal = pImgAdj->BlueVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_RED) == BST_CHECKED)
{
pImgAdj->RedVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_GREEN) == BST_CHECKED)
{
pImgAdj->GreenVal = TrackPos - BASECOLOUR + 100;
}
else if (IsDlgButtonChecked(hDlg, IDC_BRI_BLUE) == BST_CHECKED)
{
pImgAdj->BlueVal = TrackPos - BASECOLOUR + 100;
}
hdcMem = GetDC(pImgAdj->hPicPrev);
AdjustContrast(pImgAdj->hBitmap,
pImgAdj->hPreviewBitmap,
pImgAdj->hPicPrev,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->hPicPrev, hdcMem);
}
static BOOL
Cont_OnCommand(PIMAGEADJUST pImgAdj,
HWND hDlg,
UINT uID)
{
switch (uID)
{
case IDOK:
{
HDC hdcMem;
hdcMem = GetDC(pImgAdj->Info->ImageEditors->hSelf);
AdjustContrast(pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hBitmap,
pImgAdj->Info->ImageEditors->hSelf,
hdcMem,
pImgAdj->RedVal,
pImgAdj->GreenVal,
pImgAdj->BlueVal);
ReleaseDC(pImgAdj->Info->ImageEditors->hSelf,
hdcMem);
EndDialog(hDlg,
uID);
return TRUE;
}
case IDCANCEL:
{
EndDialog(hDlg,
uID);
return TRUE;
}
}
return FALSE;
}
INT_PTR CALLBACK
ContrastProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
static PIMAGEADJUST pImgAdj = NULL;
switch (message)
{
case WM_INITDIALOG:
{
pImgAdj = Cont_OnInitDialog(pImgAdj,
hDlg,
lParam);
if (!pImgAdj)
{
EndDialog(hDlg, -1);
return FALSE;
}
return TRUE;
}
case WM_DRAWITEM:
{
Cont_OnDrawItem(pImgAdj,
lParam);
return TRUE;
}
case WM_HSCROLL:
{
if (LOWORD(wParam) == TB_THUMBTRACK ||
LOWORD(wParam) == TB_ENDTRACK)
{
Cont_OnTrackBar(pImgAdj,
hDlg);
}
return TRUE;
}
case WM_COMMAND:
{
return Cont_OnCommand(pImgAdj,
hDlg,
LOWORD(wParam));
}
case WM_DESTROY:
{
if (pImgAdj)
{
if (pImgAdj->hBitmap)
DeleteObject(pImgAdj->hBitmap);
if (pImgAdj->hPreviewBitmap)
DeleteObject(pImgAdj->hPreviewBitmap);
HeapFree(ProcessHeap,
0,
pImgAdj);
}
}
}
return FALSE;
}

View File

@@ -1,213 +1,213 @@
#include <precomp.h>
LRESULT WINAPI
FlatComboProc(HWND hwnd,
UINT msg,
WPARAM wParam,
LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect, rect2;
POINT pt;
WNDPROC OldComboProc = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_USERDATA);
static BOOL fMouseDown = FALSE;
static BOOL fButtonDown = FALSE;
switch(msg)
{
case WM_PAINT:
{
if(wParam == 0) hdc = BeginPaint(hwnd, &ps);
else hdc = (HDC)wParam;
/* mask off the borders and draw ComboBox normally */
GetClientRect(hwnd, &rect);
InflateRect(&rect,
-GetSystemMetrics(SM_CXEDGE)*2,
-GetSystemMetrics(SM_CYEDGE)*2);
rect.right -= GetSystemMetrics(SM_CXVSCROLL);
IntersectClipRect(hdc,
rect.left,
rect.top,
rect.right,
rect.bottom);
/* Draw the ComboBox */
CallWindowProc(OldComboProc,
hwnd,
msg,
(WPARAM)hdc,
lParam);
/* Now mask off inside and draw the borders */
SelectClipRgn(hdc,
NULL);
rect.right += GetSystemMetrics(SM_CXVSCROLL);
ExcludeClipRect(hdc,
rect.left,
rect.top,
rect.right,
rect.bottom);
/* draw borders */
GetClientRect(hwnd,
&rect2);
FillRect(hdc,
&rect2,
//CreateSolidBrush(RGB(0,0,0)));
GetSysColorBrush(COLOR_3DFACE));
/* now draw the button */
SelectClipRgn(hdc,
NULL);
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(fButtonDown)
{
HBRUSH oldBrush;
HPEN oldPen;
POINT pt[3];
FillRect(hdc, &rect, CreateSolidBrush(RGB(182,189,210)));
rect.top -= 1;
rect.bottom += 1;
FrameRect(hdc, &rect, GetStockBrush(WHITE_BRUSH));
pt[0].x = rect.right - ((GetSystemMetrics(SM_CXVSCROLL) / 2) + 2);
pt[0].y = rect.bottom / 2;
pt[1].x = pt[0].x + 4;
pt[1].y = pt[0].y;
pt[2].x = pt[1].x - 2;
pt[2].y = pt[1].y + 2;
oldPen = (HPEN) SelectObject(hdc, GetStockPen(WHITE_PEN));
oldBrush = (HBRUSH) SelectObject(hdc, GetStockBrush(WHITE_BRUSH));
Polygon(hdc, pt, 3);
SelectObject(hdc, oldPen);
SelectObject(hdc, oldBrush);
}
else
{
HBRUSH oldBrush;
POINT pt[3];
FillRect(hdc, &rect, GetSysColorBrush(COLOR_3DFACE));
rect.top -= 1;
rect.bottom += 1;
FrameRect(hdc, &rect, GetStockBrush(WHITE_BRUSH));
pt[0].x = rect.right - ((GetSystemMetrics(SM_CXVSCROLL) / 2) + 2);
pt[0].y = rect.bottom / 2;
pt[1].x = pt[0].x + 4;
pt[1].y = pt[0].y;
pt[2].x = pt[1].x - 2;
pt[2].y = pt[1].y + 2;
oldBrush = (HBRUSH) SelectObject(hdc, GetStockBrush(BLACK_BRUSH));
Polygon(hdc, pt, 3);
SelectObject(hdc, oldBrush);
}
if(wParam == 0)
EndPaint(hwnd, &ps);
return 0;
}
/* check if mouse is within drop-arrow area, toggle
* a flag to say if the mouse is up/down. Then invalidate
* the window so it redraws to show the changes. */
case WM_LBUTTONDBLCLK:
case WM_LBUTTONDOWN:
{
pt.x = (short)LOWORD(lParam);
pt.y = (short)HIWORD(lParam);
GetClientRect(hwnd, &rect);
InflateRect(&rect,
-GetSystemMetrics(SM_CXEDGE),
-GetSystemMetrics(SM_CYEDGE));
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(PtInRect(&rect, pt))
{
/* we *should* call SetCapture, but the ComboBox does it for us */
fMouseDown = TRUE;
fButtonDown = TRUE;
InvalidateRect(hwnd, 0, 0);
}
}
break;
/* mouse has moved. Check to see if it is in/out of the drop-arrow */
case WM_MOUSEMOVE:
{
pt.x = (short)LOWORD(lParam);
pt.y = (short)HIWORD(lParam);
if(fMouseDown && (wParam & MK_LBUTTON))
{
GetClientRect(hwnd, &rect);
InflateRect(&rect, -GetSystemMetrics(SM_CXEDGE), -GetSystemMetrics(SM_CYEDGE));
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(fButtonDown != PtInRect(&rect, pt))
{
fButtonDown = PtInRect(&rect, pt);
InvalidateRect(hwnd, 0, 0);
}
}
}
break;
case WM_LBUTTONUP:
{
if(fMouseDown)
{
/* No need to call ReleaseCapture, the ComboBox does it for us */
fMouseDown = FALSE;
fButtonDown = FALSE;
InvalidateRect(hwnd, 0, 0);
}
}
break;
}
return CallWindowProc(OldComboProc,
hwnd,
msg,
wParam,
lParam);
}
VOID MakeFlatCombo(HWND hwndCombo)
{
LONG_PTR OldComboProc;
/* Remember old window procedure */
OldComboProc = GetWindowLongPtr(hwndCombo, GWLP_WNDPROC);
SetWindowLongPtr(hwndCombo,
GWLP_USERDATA,
OldComboProc);
/* Perform the subclass */
SetWindowLongPtr(hwndCombo,
GWLP_WNDPROC,
(LONG_PTR)FlatComboProc);
}
#include <precomp.h>
LRESULT WINAPI
FlatComboProc(HWND hwnd,
UINT msg,
WPARAM wParam,
LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect, rect2;
POINT pt;
WNDPROC OldComboProc = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_USERDATA);
static BOOL fMouseDown = FALSE;
static BOOL fButtonDown = FALSE;
switch(msg)
{
case WM_PAINT:
{
if(wParam == 0) hdc = BeginPaint(hwnd, &ps);
else hdc = (HDC)wParam;
/* mask off the borders and draw ComboBox normally */
GetClientRect(hwnd, &rect);
InflateRect(&rect,
-GetSystemMetrics(SM_CXEDGE)*2,
-GetSystemMetrics(SM_CYEDGE)*2);
rect.right -= GetSystemMetrics(SM_CXVSCROLL);
IntersectClipRect(hdc,
rect.left,
rect.top,
rect.right,
rect.bottom);
/* Draw the ComboBox */
CallWindowProc(OldComboProc,
hwnd,
msg,
(WPARAM)hdc,
lParam);
/* Now mask off inside and draw the borders */
SelectClipRgn(hdc,
NULL);
rect.right += GetSystemMetrics(SM_CXVSCROLL);
ExcludeClipRect(hdc,
rect.left,
rect.top,
rect.right,
rect.bottom);
/* draw borders */
GetClientRect(hwnd,
&rect2);
FillRect(hdc,
&rect2,
//CreateSolidBrush(RGB(0,0,0)));
GetSysColorBrush(COLOR_3DFACE));
/* now draw the button */
SelectClipRgn(hdc,
NULL);
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(fButtonDown)
{
HBRUSH oldBrush;
HPEN oldPen;
POINT pt[3];
FillRect(hdc, &rect, CreateSolidBrush(RGB(182,189,210)));
rect.top -= 1;
rect.bottom += 1;
FrameRect(hdc, &rect, GetStockBrush(WHITE_BRUSH));
pt[0].x = rect.right - ((GetSystemMetrics(SM_CXVSCROLL) / 2) + 2);
pt[0].y = rect.bottom / 2;
pt[1].x = pt[0].x + 4;
pt[1].y = pt[0].y;
pt[2].x = pt[1].x - 2;
pt[2].y = pt[1].y + 2;
oldPen = (HPEN) SelectObject(hdc, GetStockPen(WHITE_PEN));
oldBrush = (HBRUSH) SelectObject(hdc, GetStockBrush(WHITE_BRUSH));
Polygon(hdc, pt, 3);
SelectObject(hdc, oldPen);
SelectObject(hdc, oldBrush);
}
else
{
HBRUSH oldBrush;
POINT pt[3];
FillRect(hdc, &rect, GetSysColorBrush(COLOR_3DFACE));
rect.top -= 1;
rect.bottom += 1;
FrameRect(hdc, &rect, GetStockBrush(WHITE_BRUSH));
pt[0].x = rect.right - ((GetSystemMetrics(SM_CXVSCROLL) / 2) + 2);
pt[0].y = rect.bottom / 2;
pt[1].x = pt[0].x + 4;
pt[1].y = pt[0].y;
pt[2].x = pt[1].x - 2;
pt[2].y = pt[1].y + 2;
oldBrush = (HBRUSH) SelectObject(hdc, GetStockBrush(BLACK_BRUSH));
Polygon(hdc, pt, 3);
SelectObject(hdc, oldBrush);
}
if(wParam == 0)
EndPaint(hwnd, &ps);
return 0;
}
/* check if mouse is within drop-arrow area, toggle
* a flag to say if the mouse is up/down. Then invalidate
* the window so it redraws to show the changes. */
case WM_LBUTTONDBLCLK:
case WM_LBUTTONDOWN:
{
pt.x = (short)LOWORD(lParam);
pt.y = (short)HIWORD(lParam);
GetClientRect(hwnd, &rect);
InflateRect(&rect,
-GetSystemMetrics(SM_CXEDGE),
-GetSystemMetrics(SM_CYEDGE));
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(PtInRect(&rect, pt))
{
/* we *should* call SetCapture, but the ComboBox does it for us */
fMouseDown = TRUE;
fButtonDown = TRUE;
InvalidateRect(hwnd, 0, 0);
}
}
break;
/* mouse has moved. Check to see if it is in/out of the drop-arrow */
case WM_MOUSEMOVE:
{
pt.x = (short)LOWORD(lParam);
pt.y = (short)HIWORD(lParam);
if(fMouseDown && (wParam & MK_LBUTTON))
{
GetClientRect(hwnd, &rect);
InflateRect(&rect, -GetSystemMetrics(SM_CXEDGE), -GetSystemMetrics(SM_CYEDGE));
rect.left = rect.right - GetSystemMetrics(SM_CXVSCROLL);
if(fButtonDown != PtInRect(&rect, pt))
{
fButtonDown = PtInRect(&rect, pt);
InvalidateRect(hwnd, 0, 0);
}
}
}
break;
case WM_LBUTTONUP:
{
if(fMouseDown)
{
/* No need to call ReleaseCapture, the ComboBox does it for us */
fMouseDown = FALSE;
fButtonDown = FALSE;
InvalidateRect(hwnd, 0, 0);
}
}
break;
}
return CallWindowProc(OldComboProc,
hwnd,
msg,
wParam,
lParam);
}
VOID MakeFlatCombo(HWND hwndCombo)
{
LONG_PTR OldComboProc;
/* Remember old window procedure */
OldComboProc = GetWindowLongPtr(hwndCombo, GWLP_WNDPROC);
SetWindowLongPtr(hwndCombo,
GWLP_USERDATA,
OldComboProc);
/* Perform the subclass */
SetWindowLongPtr(hwndCombo,
GWLP_WNDPROC,
(LONG_PTR)FlatComboProc);
}

View File

@@ -1,179 +1,179 @@
#include <precomp.h>
int CALLBACK
EnumFontSizes(ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,
DWORD FontType,
LPARAM lParam)
{
static int ttsizes[] = { 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72 };
TCHAR ach[100];
BOOL fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
HWND hwndCombo = (HWND)lParam;
INT i, idx;
if (fTrueType)
{
for (i = 0; i < (sizeof(ttsizes) / sizeof(ttsizes[0])); i++)
{
wsprintf(ach, _T("%d"), ttsizes[i]);
idx = (INT)SendMessage(hwndCombo,
CB_ADDSTRING,
0,
(LPARAM)ach);
SendMessage(hwndCombo,
CB_SETITEMDATA,
idx,
ttsizes[i]);
}
return 0;
}
return 1;
}
/* Font-enumeration callback */
int CALLBACK
EnumFontNames(ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,
DWORD FontType,
LPARAM lParam)
{
HWND hwndCombo = (HWND)lParam;
TCHAR *pszName = lpelfe->elfLogFont.lfFaceName;
/* make sure font doesn't already exist in our list */
if(SendMessage(hwndCombo,
CB_FINDSTRINGEXACT,
0,
(LPARAM)pszName) == CB_ERR)
{
INT idx;
BOOL fFixed;
BOOL fTrueType;
/* add the font */
idx = (INT)SendMessage(hwndCombo,
CB_ADDSTRING,
0,
(LPARAM)pszName);
/* record the font's attributes (Fixedwidth and Truetype) */
fFixed = (lpelfe->elfLogFont.lfPitchAndFamily & FIXED_PITCH) ? TRUE : FALSE;
fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
/* store this information in the list-item's userdata area */
SendMessage(hwndCombo,
CB_SETITEMDATA,
idx,
MAKEWPARAM(fFixed, fTrueType));
}
return 1;
}
VOID
FillFontSizeComboList(HWND hwndCombo)
{
LOGFONT lf = { 0 };
HDC hdc = GetDC(hwndCombo);
/* default size */
INT cursize = 12;
INT i, count, nearest = 0;
HFONT hFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwndCombo,
WM_SETFONT,
(WPARAM)hFont,
0);
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfPitchAndFamily = 0;
/* empty the list */
SendMessage(hwndCombo,
CB_RESETCONTENT,
0,
0);
/* enumerate font sizes */
EnumFontFamiliesEx(hdc,
&lf,
(FONTENUMPROC)EnumFontSizes,
(LPARAM)hwndCombo,
0);
/* set selection to first item */
count = (INT)SendMessage(hwndCombo,
CB_GETCOUNT,
0,
0);
for(i = 0; i < count; i++)
{
INT n = (INT)SendMessage(hwndCombo,
CB_GETITEMDATA,
i,
0);
if (n <= cursize)
nearest = i;
}
SendMessage(hwndCombo,
CB_SETCURSEL,
nearest,
0);
ReleaseDC(hwndCombo,
hdc);
}
/* Initialize the font-list by enumeration all system fonts */
VOID
FillFontStyleComboList(HWND hwndCombo)
{
HDC hdc = GetDC(hwndCombo);
LOGFONT lf;
/* FIXME: draw each font in its own style */
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwndCombo,
WM_SETFONT,
(WPARAM)hFont,
0);
/* FIXME: set this in relation to the widest string */
SendMessage(hwndCombo, CB_SETDROPPEDWIDTH, 150, 0);
lf.lfCharSet = ANSI_CHARSET; // DEFAULT_CHARSET;
lf.lfFaceName[0] = _T('\0'); // all fonts
lf.lfPitchAndFamily = 0;
/* store the list of fonts in the combo */
EnumFontFamiliesEx(hdc,
&lf,
(FONTENUMPROC)EnumFontNames,
(LPARAM)hwndCombo, 0);
ReleaseDC(hwndCombo,
hdc);
/* set default to Arial */
SendMessage(hwndCombo,
CB_SELECTSTRING,
-1,
(LPARAM)_T("Arial"));
}
#include <precomp.h>
int CALLBACK
EnumFontSizes(ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,
DWORD FontType,
LPARAM lParam)
{
static int ttsizes[] = { 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72 };
TCHAR ach[100];
BOOL fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
HWND hwndCombo = (HWND)lParam;
INT i, idx;
if (fTrueType)
{
for (i = 0; i < (sizeof(ttsizes) / sizeof(ttsizes[0])); i++)
{
wsprintf(ach, _T("%d"), ttsizes[i]);
idx = (INT)SendMessage(hwndCombo,
CB_ADDSTRING,
0,
(LPARAM)ach);
SendMessage(hwndCombo,
CB_SETITEMDATA,
idx,
ttsizes[i]);
}
return 0;
}
return 1;
}
/* Font-enumeration callback */
int CALLBACK
EnumFontNames(ENUMLOGFONTEX *lpelfe,
NEWTEXTMETRICEX *lpntme,
DWORD FontType,
LPARAM lParam)
{
HWND hwndCombo = (HWND)lParam;
TCHAR *pszName = lpelfe->elfLogFont.lfFaceName;
/* make sure font doesn't already exist in our list */
if(SendMessage(hwndCombo,
CB_FINDSTRINGEXACT,
0,
(LPARAM)pszName) == CB_ERR)
{
INT idx;
BOOL fFixed;
BOOL fTrueType;
/* add the font */
idx = (INT)SendMessage(hwndCombo,
CB_ADDSTRING,
0,
(LPARAM)pszName);
/* record the font's attributes (Fixedwidth and Truetype) */
fFixed = (lpelfe->elfLogFont.lfPitchAndFamily & FIXED_PITCH) ? TRUE : FALSE;
fTrueType = (lpelfe->elfLogFont.lfOutPrecision == OUT_STROKE_PRECIS) ? TRUE : FALSE;
/* store this information in the list-item's userdata area */
SendMessage(hwndCombo,
CB_SETITEMDATA,
idx,
MAKEWPARAM(fFixed, fTrueType));
}
return 1;
}
VOID
FillFontSizeComboList(HWND hwndCombo)
{
LOGFONT lf = { 0 };
HDC hdc = GetDC(hwndCombo);
/* default size */
INT cursize = 12;
INT i, count, nearest = 0;
HFONT hFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwndCombo,
WM_SETFONT,
(WPARAM)hFont,
0);
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfPitchAndFamily = 0;
/* empty the list */
SendMessage(hwndCombo,
CB_RESETCONTENT,
0,
0);
/* enumerate font sizes */
EnumFontFamiliesEx(hdc,
&lf,
(FONTENUMPROC)EnumFontSizes,
(LPARAM)hwndCombo,
0);
/* set selection to first item */
count = (INT)SendMessage(hwndCombo,
CB_GETCOUNT,
0,
0);
for(i = 0; i < count; i++)
{
INT n = (INT)SendMessage(hwndCombo,
CB_GETITEMDATA,
i,
0);
if (n <= cursize)
nearest = i;
}
SendMessage(hwndCombo,
CB_SETCURSEL,
nearest,
0);
ReleaseDC(hwndCombo,
hdc);
}
/* Initialize the font-list by enumeration all system fonts */
VOID
FillFontStyleComboList(HWND hwndCombo)
{
HDC hdc = GetDC(hwndCombo);
LOGFONT lf;
/* FIXME: draw each font in its own style */
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwndCombo,
WM_SETFONT,
(WPARAM)hFont,
0);
/* FIXME: set this in relation to the widest string */
SendMessage(hwndCombo, CB_SETDROPPEDWIDTH, 150, 0);
lf.lfCharSet = ANSI_CHARSET; // DEFAULT_CHARSET;
lf.lfFaceName[0] = _T('\0'); // all fonts
lf.lfPitchAndFamily = 0;
/* store the list of fonts in the combo */
EnumFontFamiliesEx(hdc,
&lf,
(FONTENUMPROC)EnumFontNames,
(LPARAM)hwndCombo, 0);
ReleaseDC(hwndCombo,
hdc);
/* set default to Arial */
SendMessage(hwndCombo,
CB_SELECTSTRING,
-1,
(LPARAM)_T("Arial"));
}

View File

@@ -1,49 +1,49 @@
typedef struct _IMAGEADJUST
{
PMAIN_WND_INFO Info;
HWND hPicPrev;
HBITMAP hBitmap;
HBITMAP hPreviewBitmap;
RECT ImageRect;
INT RedVal;
INT GreenVal;
INT BlueVal;
} IMAGEADJUST, *PIMAGEADJUST;
INT_PTR CALLBACK ImagePropDialogProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK BrightnessProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK ContrastProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
VOID AdjustBrightness(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal);
BOOL DisplayBlackAndWhite(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplayInvertedColors(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplayBlur(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplaySharpness(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
typedef struct _IMAGEADJUST
{
PMAIN_WND_INFO Info;
HWND hPicPrev;
HBITMAP hBitmap;
HBITMAP hPreviewBitmap;
RECT ImageRect;
INT RedVal;
INT GreenVal;
INT BlueVal;
} IMAGEADJUST, *PIMAGEADJUST;
INT_PTR CALLBACK ImagePropDialogProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK BrightnessProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
INT_PTR CALLBACK ContrastProc(HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam);
VOID AdjustBrightness(HBITMAP hOrigBitmap,
HBITMAP hNewBitmap,
HWND hwnd,
HDC hdcMem,
INT RedVal,
INT GreenVal,
INT BlueVal);
BOOL DisplayBlackAndWhite(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplayInvertedColors(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplayBlur(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);
BOOL DisplaySharpness(HWND hwnd,
HDC hdcMem,
HBITMAP hBitmap);

View File

@@ -1,94 +1,94 @@
#define MONOCHROMEBITS 1
#define GREYSCALEBITS 8
#define PALLETEBITS 8
#define TRUECOLORBITS 24
#define PIXELS 0
#define CENTIMETERS 1
#define INCHES 2
/* generic definitions and forward declarations */
struct _MAIN_WND_INFO;
struct _EDIT_WND_INFO;
typedef enum _MDI_EDITOR_TYPE {
metUnknown = 0,
metImageEditor,
} MDI_EDITOR_TYPE, *PMDI_EDITOR_TYPE;
typedef enum
{
tSelect = 0,
tMove,
tLasso,
tZoom,
tMagicWand,
tBrush,
tEraser,
tPencil,
tColorPick,
tStamp,
tFill,
tLine,
tPolyline,
tRectangle,
tRoundRectangle,
tPolygon,
tElipse,
} TOOL;
typedef struct _OPEN_IMAGE_EDIT_INFO
{
BOOL CreateNew;
union
{
struct
{
LONG Width;
LONG Height;
} New;
struct
{
LPTSTR lpImagePath;
} Open;
};
LPTSTR lpImageName;
USHORT Type;
LONG Resolution;
} OPEN_IMAGE_EDIT_INFO, *POPEN_IMAGE_EDIT_INFO;
typedef struct _EDIT_WND_INFO
{
MDI_EDITOR_TYPE MdiEditorType; /* Must be first member! */
HWND hSelf;
HBITMAP hBitmap;
HDC hDCMem;
PBITMAPINFO pbmi;
PBYTE pBits;
struct _MAIN_WND_INFO *MainWnd;
struct _EDIT_WND_INFO *Next;
POINT ScrollPos;
USHORT Zoom;
DWORD Tool;
POPEN_IMAGE_EDIT_INFO OpenInfo; /* Only valid during initialization */
/* Canvas properties */
USHORT Type;
LONG Resolution;
/* size of drawing area */
LONG Width;
LONG Height;
} EDIT_WND_INFO, *PEDIT_WND_INFO;
BOOL CreateImageEditWindow(struct _MAIN_WND_INFO *MainWnd,
POPEN_IMAGE_EDIT_INFO OpenInfo);
VOID SetImageEditorEnvironment(PEDIT_WND_INFO Info,
BOOL Setup);
BOOL InitImageEditWindowImpl(VOID);
VOID UninitImageEditWindowImpl(VOID);
#define MONOCHROMEBITS 1
#define GREYSCALEBITS 8
#define PALLETEBITS 8
#define TRUECOLORBITS 24
#define PIXELS 0
#define CENTIMETERS 1
#define INCHES 2
/* generic definitions and forward declarations */
struct _MAIN_WND_INFO;
struct _EDIT_WND_INFO;
typedef enum _MDI_EDITOR_TYPE {
metUnknown = 0,
metImageEditor,
} MDI_EDITOR_TYPE, *PMDI_EDITOR_TYPE;
typedef enum
{
tSelect = 0,
tMove,
tLasso,
tZoom,
tMagicWand,
tBrush,
tEraser,
tPencil,
tColorPick,
tStamp,
tFill,
tLine,
tPolyline,
tRectangle,
tRoundRectangle,
tPolygon,
tElipse,
} TOOL;
typedef struct _OPEN_IMAGE_EDIT_INFO
{
BOOL CreateNew;
union
{
struct
{
LONG Width;
LONG Height;
} New;
struct
{
LPTSTR lpImagePath;
} Open;
};
LPTSTR lpImageName;
USHORT Type;
LONG Resolution;
} OPEN_IMAGE_EDIT_INFO, *POPEN_IMAGE_EDIT_INFO;
typedef struct _EDIT_WND_INFO
{
MDI_EDITOR_TYPE MdiEditorType; /* Must be first member! */
HWND hSelf;
HBITMAP hBitmap;
HDC hDCMem;
PBITMAPINFO pbmi;
PBYTE pBits;
struct _MAIN_WND_INFO *MainWnd;
struct _EDIT_WND_INFO *Next;
POINT ScrollPos;
USHORT Zoom;
DWORD Tool;
POPEN_IMAGE_EDIT_INFO OpenInfo; /* Only valid during initialization */
/* Canvas properties */
USHORT Type;
LONG Resolution;
/* size of drawing area */
LONG Width;
LONG Height;
} EDIT_WND_INFO, *PEDIT_WND_INFO;
BOOL CreateImageEditWindow(struct _MAIN_WND_INFO *MainWnd,
POPEN_IMAGE_EDIT_INFO OpenInfo);
VOID SetImageEditorEnvironment(PEDIT_WND_INFO Info,
BOOL Setup);
BOOL InitImageEditWindowImpl(VOID);
VOID UninitImageEditWindowImpl(VOID);

View File

@@ -1,41 +1,41 @@
typedef struct _MENU_HINT
{
WORD CmdId;
UINT HintId;
} MENU_HINT, *PMENU_HINT;
typedef struct _MAIN_WND_INFO
{
HWND hSelf;
HWND hMdiClient;
HWND hStatus;
int nCmdShow;
struct _FLT_WND *fltTools;
struct _FLT_WND *fltColors;
struct _FLT_WND *fltHistory;
struct _TOOLBAR_DOCKS ToolDocks;
/* Editors */
PEDIT_WND_INFO ImageEditors;
UINT ImagesCreated;
PVOID ActiveEditor;
/* status flags */
BOOL InMenuLoop : 1;
} MAIN_WND_INFO, *PMAIN_WND_INFO;
BOOL InitMainWindowImpl(VOID);
VOID UninitMainWindowImpl(VOID);
HWND CreateMainWindow(LPCTSTR lpCaption,
int nCmdShow);
BOOL MainWndTranslateMDISysAccel(HWND hwnd,
LPMSG lpMsg);
VOID MainWndSwitchEditorContext(PMAIN_WND_INFO Info,
HWND hDeactivate,
HWND hActivate);
MDI_EDITOR_TYPE MainWndGetCurrentEditor(PMAIN_WND_INFO MainWnd,
PVOID *Info);
typedef struct _MENU_HINT
{
WORD CmdId;
UINT HintId;
} MENU_HINT, *PMENU_HINT;
typedef struct _MAIN_WND_INFO
{
HWND hSelf;
HWND hMdiClient;
HWND hStatus;
int nCmdShow;
struct _FLT_WND *fltTools;
struct _FLT_WND *fltColors;
struct _FLT_WND *fltHistory;
struct _TOOLBAR_DOCKS ToolDocks;
/* Editors */
PEDIT_WND_INFO ImageEditors;
UINT ImagesCreated;
PVOID ActiveEditor;
/* status flags */
BOOL InMenuLoop : 1;
} MAIN_WND_INFO, *PMAIN_WND_INFO;
BOOL InitMainWindowImpl(VOID);
VOID UninitMainWindowImpl(VOID);
HWND CreateMainWindow(LPCTSTR lpCaption,
int nCmdShow);
BOOL MainWndTranslateMDISysAccel(HWND hwnd,
LPMSG lpMsg);
VOID MainWndSwitchEditorContext(PMAIN_WND_INFO Info,
HWND hDeactivate,
HWND hActivate);
MDI_EDITOR_TYPE MainWndGetCurrentEditor(PMAIN_WND_INFO MainWnd,
PVOID *Info);

View File

@@ -1,44 +1,44 @@
INT AllocAndLoadString(OUT LPTSTR *lpTarget,
IN HINSTANCE hInst,
IN UINT uID);
DWORD LoadAndFormatString(IN HINSTANCE hInstance,
IN UINT uID,
OUT LPTSTR *lpTarget,
...);
BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
IN INT PartId,
IN HINSTANCE hInstance,
IN UINT uID,
...);
BOOL StatusBarLoadString(IN HWND hStatusBar,
IN INT PartId,
IN HINSTANCE hInstance,
IN UINT uID);
INT GetTextFromEdit(OUT LPTSTR lpString,
IN HWND hDlg,
IN UINT Res);
VOID GetError(DWORD err);
BOOL ToolbarDeleteControlSpace(HWND hWndToolbar,
const TBBUTTON *ptbButton);
typedef VOID (*ToolbarChangeControlCallback)(HWND hWndToolbar,
HWND hWndControl,
BOOL Vert);
VOID ToolbarUpdateControlSpaces(HWND hWndToolbar,
ToolbarChangeControlCallback ChangeCallback);
BOOL ToolbarInsertSpaceForControl(HWND hWndToolbar,
HWND hWndControl,
INT Index,
INT iCmd,
BOOL HideVertical);
HIMAGELIST InitImageList(UINT NumButtons,
UINT StartResource);
INT AllocAndLoadString(OUT LPTSTR *lpTarget,
IN HINSTANCE hInst,
IN UINT uID);
DWORD LoadAndFormatString(IN HINSTANCE hInstance,
IN UINT uID,
OUT LPTSTR *lpTarget,
...);
BOOL StatusBarLoadAndFormatString(IN HWND hStatusBar,
IN INT PartId,
IN HINSTANCE hInstance,
IN UINT uID,
...);
BOOL StatusBarLoadString(IN HWND hStatusBar,
IN INT PartId,
IN HINSTANCE hInstance,
IN UINT uID);
INT GetTextFromEdit(OUT LPTSTR lpString,
IN HWND hDlg,
IN UINT Res);
VOID GetError(DWORD err);
BOOL ToolbarDeleteControlSpace(HWND hWndToolbar,
const TBBUTTON *ptbButton);
typedef VOID (*ToolbarChangeControlCallback)(HWND hWndToolbar,
HWND hWndControl,
BOOL Vert);
VOID ToolbarUpdateControlSpaces(HWND hWndToolbar,
ToolbarChangeControlCallback ChangeCallback);
BOOL ToolbarInsertSpaceForControl(HWND hWndToolbar,
HWND hWndControl,
INT Index,
INT iCmd,
BOOL HideVertical);
HIMAGELIST InitImageList(UINT NumButtons,
UINT StartResource);

View File

@@ -1,115 +1,115 @@
typedef enum
{
TOP_DOCK = 0,
LEFT_DOCK,
RIGHT_DOCK,
BOTTOM_DOCK,
NO_DOCK
} DOCK_POSITION;
typedef struct _DOCKBAR
{
UINT BarId;
LPCTSTR lpName;
UINT DisplayTextId;
DOCK_POSITION Position;
} DOCKBAR, *PDOCKBAR;
struct _TOOLBAR_DOCKS;
typedef BOOL (CALLBACK *PDOCKBAR_CREATECLIENT)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hParent,
HWND *hwnd);
typedef BOOL (CALLBACK *PDOCKBAR_DESTROYCLIENT)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hwnd);
typedef BOOL (CALLBACK *PDOCKBAR_INSERTBAND)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
UINT *Index,
LPREBARBANDINFO rbi);
typedef VOID (CALLBACK *PDOCKBAR_DOCKBAND)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
DOCK_POSITION DockFrom,
DOCK_POSITION DockTo,
LPREBARBANDINFO rbi);
typedef VOID (CALLBACK *PDOCKBAR_CHEVRONPUSHED)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hwndChild,
LPNMREBARCHEVRON lpnm);
typedef struct _DOCKBAR_ITEM_CALLBACKS
{
PDOCKBAR_CREATECLIENT CreateClient;
PDOCKBAR_DESTROYCLIENT DestroyClient;
PDOCKBAR_INSERTBAND InsertBand;
PDOCKBAR_DOCKBAND DockBand;
PDOCKBAR_CHEVRONPUSHED ChevronPushed;
} DOCKBAR_ITEM_CALLBACKS, *PDOCKBAR_ITEM_CALLBACKS;
typedef struct _DOCKBAR_ITEM
{
struct _DOCKBAR_ITEM *Next;
DOCKBAR DockBar;
PVOID Context;
HWND hWndTool;
HWND hWndClient;
DOCK_POSITION PrevDock;
UINT PrevBandIndex;
const DOCKBAR_ITEM_CALLBACKS *Callbacks;
} DOCKBAR_ITEM, *PDOCKBAR_ITEM;
typedef VOID (CALLBACK *PDOCKBAR_PARENTRESIZE)(PVOID Context,
LONG cx,
LONG cy);
#define DOCKS_COUNT 4
typedef struct _TOOLBAR_DOCKS
{
HWND hParent;
PVOID Context;
HWND hRebar[DOCKS_COUNT];
RECT rcRebar[DOCKS_COUNT];
RECT rcClient;
PDOCKBAR_ITEM Items;
PDOCKBAR_PARENTRESIZE ParentResize;
PDOCKBAR_ITEM Dragging;
UINT DraggingBandId;
TCHAR szTempText[255];
} TOOLBAR_DOCKS, *PTOOLBAR_DOCKS;
VOID TbdInitializeDocks(PTOOLBAR_DOCKS TbDocks,
HWND hWndParent,
PVOID Context,
PDOCKBAR_PARENTRESIZE ParentResizeProc);
INT TbdAdjustUpdateClientRect(PTOOLBAR_DOCKS TbDocks,
PRECT rcClient);
HDWP TbdDeferDocks(HDWP hWinPosInfo,
PTOOLBAR_DOCKS TbDocks);
BOOL TbdAddToolbar(PTOOLBAR_DOCKS TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
const DOCKBAR_ITEM_CALLBACKS *DockbarCallbacks);
BOOL TbdDockBarIdFromClientWindow(PTOOLBAR_DOCKS TbDocks,
HWND hWndClient,
UINT *Id);
BOOL TbdHandleNotifications(PTOOLBAR_DOCKS TbDocks,
LPNMHDR pnmh,
LRESULT *Result);
VOID TbdHandleEnabling(PTOOLBAR_DOCKS TbDocks,
HWND hWnd,
BOOL Enable);
VOID TbdHandleActivation(PTOOLBAR_DOCKS TbDocks,
HWND hWnd,
WPARAM *wParam,
LPARAM *lParam);
VOID TbdShowFloatingToolbars(PTOOLBAR_DOCKS TbDocks,
BOOL Show);
BOOL TbdInitImpl(VOID);
VOID TbdUninitImpl(VOID);
typedef enum
{
TOP_DOCK = 0,
LEFT_DOCK,
RIGHT_DOCK,
BOTTOM_DOCK,
NO_DOCK
} DOCK_POSITION;
typedef struct _DOCKBAR
{
UINT BarId;
LPCTSTR lpName;
UINT DisplayTextId;
DOCK_POSITION Position;
} DOCKBAR, *PDOCKBAR;
struct _TOOLBAR_DOCKS;
typedef BOOL (CALLBACK *PDOCKBAR_CREATECLIENT)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hParent,
HWND *hwnd);
typedef BOOL (CALLBACK *PDOCKBAR_DESTROYCLIENT)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hwnd);
typedef BOOL (CALLBACK *PDOCKBAR_INSERTBAND)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
UINT *Index,
LPREBARBANDINFO rbi);
typedef VOID (CALLBACK *PDOCKBAR_DOCKBAND)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
DOCK_POSITION DockFrom,
DOCK_POSITION DockTo,
LPREBARBANDINFO rbi);
typedef VOID (CALLBACK *PDOCKBAR_CHEVRONPUSHED)(struct _TOOLBAR_DOCKS *TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
HWND hwndChild,
LPNMREBARCHEVRON lpnm);
typedef struct _DOCKBAR_ITEM_CALLBACKS
{
PDOCKBAR_CREATECLIENT CreateClient;
PDOCKBAR_DESTROYCLIENT DestroyClient;
PDOCKBAR_INSERTBAND InsertBand;
PDOCKBAR_DOCKBAND DockBand;
PDOCKBAR_CHEVRONPUSHED ChevronPushed;
} DOCKBAR_ITEM_CALLBACKS, *PDOCKBAR_ITEM_CALLBACKS;
typedef struct _DOCKBAR_ITEM
{
struct _DOCKBAR_ITEM *Next;
DOCKBAR DockBar;
PVOID Context;
HWND hWndTool;
HWND hWndClient;
DOCK_POSITION PrevDock;
UINT PrevBandIndex;
const DOCKBAR_ITEM_CALLBACKS *Callbacks;
} DOCKBAR_ITEM, *PDOCKBAR_ITEM;
typedef VOID (CALLBACK *PDOCKBAR_PARENTRESIZE)(PVOID Context,
LONG cx,
LONG cy);
#define DOCKS_COUNT 4
typedef struct _TOOLBAR_DOCKS
{
HWND hParent;
PVOID Context;
HWND hRebar[DOCKS_COUNT];
RECT rcRebar[DOCKS_COUNT];
RECT rcClient;
PDOCKBAR_ITEM Items;
PDOCKBAR_PARENTRESIZE ParentResize;
PDOCKBAR_ITEM Dragging;
UINT DraggingBandId;
TCHAR szTempText[255];
} TOOLBAR_DOCKS, *PTOOLBAR_DOCKS;
VOID TbdInitializeDocks(PTOOLBAR_DOCKS TbDocks,
HWND hWndParent,
PVOID Context,
PDOCKBAR_PARENTRESIZE ParentResizeProc);
INT TbdAdjustUpdateClientRect(PTOOLBAR_DOCKS TbDocks,
PRECT rcClient);
HDWP TbdDeferDocks(HDWP hWinPosInfo,
PTOOLBAR_DOCKS TbDocks);
BOOL TbdAddToolbar(PTOOLBAR_DOCKS TbDocks,
const DOCKBAR *Dockbar,
PVOID Context,
const DOCKBAR_ITEM_CALLBACKS *DockbarCallbacks);
BOOL TbdDockBarIdFromClientWindow(PTOOLBAR_DOCKS TbDocks,
HWND hWndClient,
UINT *Id);
BOOL TbdHandleNotifications(PTOOLBAR_DOCKS TbDocks,
LPNMHDR pnmh,
LRESULT *Result);
VOID TbdHandleEnabling(PTOOLBAR_DOCKS TbDocks,
HWND hWnd,
BOOL Enable);
VOID TbdHandleActivation(PTOOLBAR_DOCKS TbDocks,
HWND hWnd,
WPARAM *wParam,
LPARAM *lParam);
VOID TbdShowFloatingToolbars(PTOOLBAR_DOCKS TbDocks,
BOOL Show);
BOOL TbdInitImpl(VOID);
VOID TbdUninitImpl(VOID);

View File

@@ -1,160 +1,160 @@
# Microsoft Developer Studio Project File - Name="libncftp" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=libncftp - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "libncftp.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "libncftp.mak" CFG="libncftp - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "libncftp - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "libncftp - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "libncftp - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W4 /GX /O2 /Ob1 /I "..\Strn" /I "..\sio" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "libncftp - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\Strn" /I "..\sio" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "libncftp - Win32 Release"
# Name "libncftp - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\cmds.c
# End Source File
# Begin Source File
SOURCE=.\errno.c
# End Source File
# Begin Source File
SOURCE=.\ftp.c
# End Source File
# Begin Source File
SOURCE=.\glob.c
# End Source File
# Begin Source File
SOURCE=.\io.c
# End Source File
# Begin Source File
SOURCE=.\linelist.c
# End Source File
# Begin Source File
SOURCE=.\mksrczip.bat
# End Source File
# Begin Source File
SOURCE=.\open.c
# End Source File
# Begin Source File
SOURCE=.\rcmd.c
# End Source File
# Begin Source File
SOURCE=.\util.c
# End Source File
# Begin Source File
SOURCE=.\util2.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\ftp.h
# End Source File
# Begin Source File
SOURCE=.\ncftp.h
# End Source File
# Begin Source File
SOURCE=.\ncftp_errno.h
# End Source File
# Begin Source File
SOURCE=.\syshdrs.h
# End Source File
# Begin Source File
SOURCE=.\util.h
# End Source File
# Begin Source File
SOURCE=.\wincfg.h
# End Source File
# End Group
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="libncftp" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=libncftp - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "libncftp.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "libncftp.mak" CFG="libncftp - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "libncftp - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "libncftp - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "libncftp - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD CPP /nologo /W4 /GX /O2 /Ob1 /I "..\Strn" /I "..\sio" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "libncftp - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\Strn" /I "..\sio" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "libncftp - Win32 Release"
# Name "libncftp - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\cmds.c
# End Source File
# Begin Source File
SOURCE=.\errno.c
# End Source File
# Begin Source File
SOURCE=.\ftp.c
# End Source File
# Begin Source File
SOURCE=.\glob.c
# End Source File
# Begin Source File
SOURCE=.\io.c
# End Source File
# Begin Source File
SOURCE=.\linelist.c
# End Source File
# Begin Source File
SOURCE=.\mksrczip.bat
# End Source File
# Begin Source File
SOURCE=.\open.c
# End Source File
# Begin Source File
SOURCE=.\rcmd.c
# End Source File
# Begin Source File
SOURCE=.\util.c
# End Source File
# Begin Source File
SOURCE=.\util2.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\ftp.h
# End Source File
# Begin Source File
SOURCE=.\ncftp.h
# End Source File
# Begin Source File
SOURCE=.\ncftp_errno.h
# End Source File
# Begin Source File
SOURCE=.\syshdrs.h
# End Source File
# Begin Source File
SOURCE=.\util.h
# End Source File
# Begin Source File
SOURCE=.\wincfg.h
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "libncftp"=.\libncftp.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "libncftp"=.\libncftp.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,223 +1,223 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstsc"
ProjectGUID="{1B415732-1F37-415F-957B-EA436301860D}"
RootNamespace="mstsc"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstsc.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstsc"
ProjectGUID="{1B415732-1F37-415F-957B-EA436301860D}"
RootNamespace="mstsc"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstsc.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -1,223 +1,223 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstscax"
ProjectGUID="{2C217E9E-9D77-4D6A-9259-216FD56BA56F}"
RootNamespace="mstscax"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstscax.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstscax"
ProjectGUID="{2C217E9E-9D77-4D6A-9259-216FD56BA56F}"
RootNamespace="mstscax"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib $(NoInherit)"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstscax.cpp"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -1,20 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstscax", "mstscax.vcproj", "{933B2293-F12F-4B01-98B4-BF635B8B4F36}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.ActiveCfg = Debug|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.Build.0 = Debug|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.ActiveCfg = Release|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstscax", "mstscax.vcproj", "{933B2293-F12F-4B01-98B4-BF635B8B4F36}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.ActiveCfg = Debug|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Debug|Win32.Build.0 = Debug|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.ActiveCfg = Release|Win32
{933B2293-F12F-4B01-98B4-BF635B8B4F36}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,229 +1,229 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstscax"
ProjectGUID="{933B2293-F12F-4B01-98B4-BF635B8B4F36}"
RootNamespace="mstscax"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib ole32.lib $(NoInherit)"
LinkIncremental="2"
ModuleDefinitionFile="$(ProjectDir)/mstscax.def"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib ole32.lib $(NoInherit)"
LinkIncremental="1"
ModuleDefinitionFile="$(ProjectDir)/mstscax.def"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstscax.cpp"
>
</File>
<File
RelativePath=".\mstscax.def"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="mstscax"
ProjectGUID="{933B2293-F12F-4B01-98B4-BF635B8B4F36}"
RootNamespace="mstscax"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib ole32.lib $(NoInherit)"
LinkIncremental="2"
ModuleDefinitionFile="$(ProjectDir)/mstscax.def"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
UsePrecompiledHeader="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib ole32.lib $(NoInherit)"
LinkIncremental="1"
ModuleDefinitionFile="$(ProjectDir)/mstscax.def"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\mstscax.cpp"
>
</File>
<File
RelativePath=".\mstscax.def"
>
</File>
<File
RelativePath=".\stdafx.cpp"
>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
UsePrecompiledHeader="1"
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\stdafx.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -1,251 +1,251 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="rdesktop-core"
ProjectGUID="{8620E9B2-9AF0-4F69-A5AF-C195D5F86372}"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;C:\Documents and Settings\All Users\Documenti\openssl-0.9.8b\inc32&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;C:\Documents and Settings\All Users\Documenti\openssl-0.9.8b\inc32&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\constants.h"
>
</File>
<File
RelativePath=".\disk.h"
>
</File>
<File
RelativePath=".\orders.h"
>
</File>
<File
RelativePath=".\parse.h"
>
</File>
<File
RelativePath=".\proto.h"
>
</File>
<File
RelativePath=".\rdesktop.h"
>
</File>
<File
RelativePath=".\scancodes.h"
>
</File>
<File
RelativePath=".\seamless.h"
>
</File>
<File
RelativePath=".\types.h"
>
</File>
<File
RelativePath=".\xproto.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\bitmap.c"
>
</File>
<File
RelativePath=".\cache.c"
>
</File>
<File
RelativePath=".\iso.c"
>
</File>
<File
RelativePath=".\licence.c"
>
</File>
<File
RelativePath=".\mcs.c"
>
</File>
<File
RelativePath=".\mppc.c"
>
</File>
<File
RelativePath=".\orders.c"
>
</File>
<File
RelativePath=".\pstcache.c"
>
</File>
<File
RelativePath=".\rdp.c"
>
</File>
<File
RelativePath=".\rdp5.c"
>
</File>
<File
RelativePath=".\secure.c"
>
</File>
<File
RelativePath=".\tcp.c"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="rdesktop-core"
ProjectGUID="{8620E9B2-9AF0-4F69-A5AF-C195D5F86372}"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;C:\Documents and Settings\All Users\Documenti\openssl-0.9.8b\inc32&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="4"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;C:\Documents and Settings\All Users\Documenti\openssl-0.9.8b\inc32&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE"
RuntimeLibrary="2"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath=".\constants.h"
>
</File>
<File
RelativePath=".\disk.h"
>
</File>
<File
RelativePath=".\orders.h"
>
</File>
<File
RelativePath=".\parse.h"
>
</File>
<File
RelativePath=".\proto.h"
>
</File>
<File
RelativePath=".\rdesktop.h"
>
</File>
<File
RelativePath=".\scancodes.h"
>
</File>
<File
RelativePath=".\seamless.h"
>
</File>
<File
RelativePath=".\types.h"
>
</File>
<File
RelativePath=".\xproto.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath=".\bitmap.c"
>
</File>
<File
RelativePath=".\cache.c"
>
</File>
<File
RelativePath=".\iso.c"
>
</File>
<File
RelativePath=".\licence.c"
>
</File>
<File
RelativePath=".\mcs.c"
>
</File>
<File
RelativePath=".\mppc.c"
>
</File>
<File
RelativePath=".\orders.c"
>
</File>
<File
RelativePath=".\pstcache.c"
>
</File>
<File
RelativePath=".\rdp.c"
>
</File>
<File
RelativePath=".\rdp5.c"
>
</File>
<File
RelativePath=".\secure.c"
>
</File>
<File
RelativePath=".\tcp.c"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -1,7 +1,7 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Schwarzer Bildschirm"
IDS_TEXT "Keine Einstellungen notwendig."
END
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Schwarzer Bildschirm"
IDS_TEXT "Keine Einstellungen notwendig."
END

View File

@@ -1,7 +1,7 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Vide"
IDS_TEXT "Il n'y a aucune option à définir."
END
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Vide"
IDS_TEXT "Il n'y a aucune option à définir."
END

View File

@@ -1,16 +1,16 @@
/*
* PROJECT: ReactOS Blank ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/blankscr/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Tuščias"
IDS_TEXT "Nėra keičiamų parametrų."
END
/*
* PROJECT: ReactOS Blank ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/blankscr/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Tuščias"
IDS_TEXT "Nėra keičiamų parametrų."
END

View File

@@ -1,7 +1,7 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Blank"
IDS_TEXT "Geen dingen om in te stellen."
END
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Blank"
IDS_TEXT "Geen dingen om in te stellen."
END

View File

@@ -1,11 +1,11 @@
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Blank"
IDS_TEXT "Nie sú potrebné žiadne nastavenia."
END
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Blank"
IDS_TEXT "Nie sú potrebné žiadne nastavenia."
END

View File

@@ -1,15 +1,15 @@
/*
* PROJECT: Default ScreenSaver
* LICENSE: Public Domain
* FILE: rosapps/applications/screensavers/blankscr/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Default ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Порожньо"
IDS_TEXT "Ця заставка не має налаштовуваних параметрів."
END
/*
* PROJECT: Default ScreenSaver
* LICENSE: Public Domain
* FILE: rosapps/applications/screensavers/blankscr/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Default ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Порожньо"
IDS_TEXT "Ця заставка не має налаштовуваних параметрів."
END

View File

@@ -1,4 +1,4 @@
#pragma once
#define IDS_TEXT 3
#define IDI_ICON 101
#pragma once
#define IDS_TEXT 3
#define IDI_ICON 101

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders Fractal"
IDS_TITLE "Über"
IDS_TEXT "Cylinders Fractal von unC0Rr.\nSpeziell für ReactOS."
END
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders Fractal"
IDS_TITLE "Über"
IDS_TEXT "Cylinders Fractal von unC0Rr.\nSpeziell für ReactOS."
END

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Fractale de cylindres"
IDS_TITLE "À propos de"
IDS_TEXT "Fractale de cylindres par unC0Rr.\nSpécial pour ReactOS."
END
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Fractale de cylindres"
IDS_TITLE "À propos de"
IDS_TEXT "Fractale de cylindres par unC0Rr.\nSpécial pour ReactOS."
END

View File

@@ -1,17 +1,17 @@
/*
* PROJECT: ReactOS Cylinders fractal
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/cylfrac/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cilindrinis fraktalas"
IDS_TITLE "Apie"
IDS_TEXT "Ekrano užsklanda sukurta unC0Rr.\nSpecialiai ReactOS."
END
/*
* PROJECT: ReactOS Cylinders fractal
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/cylfrac/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cilindrinis fraktalas"
IDS_TITLE "Apie"
IDS_TEXT "Ekrano užsklanda sukurta unC0Rr.\nSpecialiai ReactOS."
END

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders fractal"
IDS_TITLE "Informatie"
IDS_TEXT "Cylinders fractal door unC0Rr.\nSpeciaal voor ReactOS."
END
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders fractal"
IDS_TITLE "Informatie"
IDS_TEXT "Cylinders fractal door unC0Rr.\nSpeciaal voor ReactOS."
END

View File

@@ -1,12 +1,12 @@
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders fractal"
IDS_TITLE "Čo je ..."
IDS_TEXT "Cylinders fractal od unC0Rr.\nŠpeciálne pre systém ReactOS."
END
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Cylinders fractal"
IDS_TITLE "Čo je ..."
IDS_TEXT "Cylinders fractal od unC0Rr.\nŠpeciálne pre systém ReactOS."
END

View File

@@ -1,16 +1,16 @@
/*
* PROJECT: Cylinders fractal ScreenSaver
* LICENSE: Public Domain
* FILE: base/applications/screensavers/cylfrac/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Cylinders fractal ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Заставка ""Cylinders fractal"""
IDS_TITLE "Про"
IDS_TEXT "Cylinders fractal від unC0Rr.\nСпеціально для ReactOS."
END
/*
* PROJECT: Cylinders fractal ScreenSaver
* LICENSE: Public Domain
* FILE: base/applications/screensavers/cylfrac/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Cylinders fractal ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Заставка ""Cylinders fractal"""
IDS_TITLE "Про"
IDS_TEXT "Cylinders fractal від unC0Rr.\nСпеціально для ReactOS."
END

View File

@@ -1,6 +1,6 @@
#pragma once
#define IDS_DESCRIPTION 1
#define IDS_TITLE 2
#define IDS_TEXT 3
#define IDI_ICON 101
#pragma once
#define IDS_DESCRIPTION 1
#define IDS_TITLE 2
#define IDS_TEXT 3
#define IDI_ICON 101

View File

@@ -1,62 +1,62 @@
/*
* PROJECT: ReactOS Matrix ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/screensavers/matrix/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
#include "resource.h"
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
IDD_CONFIG DIALOGEX DISCARDABLE 0, 0, 340, 183
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ekrano užsklandos nustatymai"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Dekodavimo &greitis",IDC_STATIC,7,7,128,36
LTEXT "Lėtas",IDC_STATIC,13,24,22,8
CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,17,62,22
LTEXT "Greitas",IDC_STATIC,104,24,29,8
GROUPBOX "Šifro &tankumas",IDC_STATIC,7,50,128,36
LTEXT "Mažas",IDC_STATIC,13,67,28,8
CONTROL "Slider1",IDC_SLIDER2,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,60,62,22
LTEXT "Didelis",IDC_STATIC,104,67,29,8
GROUPBOX "&Pranešimo vaizdavimo greitis",IDC_MSGSPEEDGRP,7,93,127,36
LTEXT "Lėtas",IDC_STATIC,13,110,22,8
CONTROL "Slider3",IDC_SLIDER3,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,103,62,22
LTEXT "Greitas",IDC_STATIC,104,110,27,8
GROUPBOX "Šrifto &dydis",IDC_STATIC,7,137,127,36
LTEXT "Mažas",IDC_STATIC,13,153,24,8
CONTROL "Slider3",IDC_SLIDER4,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,146,62,22
LTEXT "Didelis",IDC_STATIC,104,153,25,8
GROUPBOX "&Koduoti pranešimai",IDC_STATIC,145,7,188,142
COMBOBOX IDC_COMBO1,153,22,172,62,CBS_DROPDOWN | WS_VSCROLL |
WS_TABSTOP
CONTROL "",IDC_PREVIEW,"Static",SS_LEFTNOWORDWRAP |
SS_CENTERIMAGE | WS_GROUP,154,39,116,72
PUSHBUTTON "&Įtraukti",IDC_ADD,280,41,44,18
PUSHBUTTON "&Pašalinti",IDC_REMOVE,280,66,44,18
CONTROL "Atsitiktiniai pranešimai",IDC_RANDOM,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,151,134,91,10
DEFPUSHBUTTON "OK",IDOK,222,162,50,14
PUSHBUTTON "Atšaukti",IDCANCEL,283,162,50,14
LTEXT "&Šriftas:",IDC_STATIC,151,118,38,8
COMBOBOX IDC_COMBO2,195,116,130,71,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
CONTROL "Pus&juodis šriftas",IDC_BOLD,"Button",BS_AUTOCHECKBOX |
BS_MULTILINE | WS_TABSTOP,247,134,77,10
CTEXT "Ekrano užsklanda Matrica www.catch22.org.uk",IDC_ABOUT,140,
151,75,25
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Matrica"
END
/*
* PROJECT: ReactOS Matrix ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: base/applications/screensavers/matrix/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-12-02
*/
#include "resource.h"
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
IDD_CONFIG DIALOGEX DISCARDABLE 0, 0, 340, 183
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Ekrano užsklandos nustatymai"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Dekodavimo &greitis",IDC_STATIC,7,7,128,36
LTEXT "Lėtas",IDC_STATIC,13,24,22,8
CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,17,62,22
LTEXT "Greitas",IDC_STATIC,104,24,29,8
GROUPBOX "Šifro &tankumas",IDC_STATIC,7,50,128,36
LTEXT "Mažas",IDC_STATIC,13,67,28,8
CONTROL "Slider1",IDC_SLIDER2,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,60,62,22
LTEXT "Didelis",IDC_STATIC,104,67,29,8
GROUPBOX "&Pranešimo vaizdavimo greitis",IDC_MSGSPEEDGRP,7,93,127,36
LTEXT "Lėtas",IDC_STATIC,13,110,22,8
CONTROL "Slider3",IDC_SLIDER3,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,103,62,22
LTEXT "Greitas",IDC_STATIC,104,110,27,8
GROUPBOX "Šrifto &dydis",IDC_STATIC,7,137,127,36
LTEXT "Mažas",IDC_STATIC,13,153,24,8
CONTROL "Slider3",IDC_SLIDER4,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,146,62,22
LTEXT "Didelis",IDC_STATIC,104,153,25,8
GROUPBOX "&Koduoti pranešimai",IDC_STATIC,145,7,188,142
COMBOBOX IDC_COMBO1,153,22,172,62,CBS_DROPDOWN | WS_VSCROLL |
WS_TABSTOP
CONTROL "",IDC_PREVIEW,"Static",SS_LEFTNOWORDWRAP |
SS_CENTERIMAGE | WS_GROUP,154,39,116,72
PUSHBUTTON "&Įtraukti",IDC_ADD,280,41,44,18
PUSHBUTTON "&Pašalinti",IDC_REMOVE,280,66,44,18
CONTROL "Atsitiktiniai pranešimai",IDC_RANDOM,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,151,134,91,10
DEFPUSHBUTTON "OK",IDOK,222,162,50,14
PUSHBUTTON "Atšaukti",IDCANCEL,283,162,50,14
LTEXT "&Šriftas:",IDC_STATIC,151,118,38,8
COMBOBOX IDC_COMBO2,195,116,130,71,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
CONTROL "Pus&juodis šriftas",IDC_BOLD,"Button",BS_AUTOCHECKBOX |
BS_MULTILINE | WS_TABSTOP,247,134,77,10
CTEXT "Ekrano užsklanda Matrica www.catch22.org.uk",IDC_ABOUT,140,
151,75,25
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Matrica"
END

View File

@@ -1,53 +1,53 @@
#include "resource.h"
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
IDD_CONFIG DIALOGEX DISCARDABLE 0, 0, 340, 183
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Matrix Schermbeveiliging Configuratie"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Decodeer &Snelheid",IDC_STATIC,7,7,128,36
LTEXT "Langzamer",IDC_STATIC,13,24,22,8
CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,17,62,22
LTEXT "Sneller",IDC_STATIC,104,24,20,8
GROUPBOX "Cypher &Dichtheid",IDC_STATIC,7,50,128,36
LTEXT "Minder",IDC_STATIC,13,67,19,8
CONTROL "Slider1",IDC_SLIDER2,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,60,62,22
LTEXT "Meer",IDC_STATIC,104,67,23,8
GROUPBOX "Snel&heid van het bericht",IDC_MSGSPEEDGRP,7,93,127,36
LTEXT "Langzamer",IDC_STATIC,13,110,22,8
CONTROL "Slider3",IDC_SLIDER3,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,103,62,22
LTEXT "Sneller",IDC_STATIC,104,110,22,8
GROUPBOX "&Lettertype Grootte",IDC_STATIC,7,137,127,36
LTEXT "Kleiner",IDC_STATIC,13,153,24,8
CONTROL "Slider3",IDC_SLIDER4,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,146,62,22
LTEXT "Groter",IDC_STATIC,104,153,25,8
GROUPBOX "&Gecodeerde berichten",IDC_STATIC,145,7,188,142
COMBOBOX IDC_COMBO1,153,22,172,62,CBS_DROPDOWN | WS_VSCROLL |
WS_TABSTOP
CONTROL "",IDC_PREVIEW,"Static",SS_LEFTNOWORDWRAP |
SS_CENTERIMAGE | WS_GROUP,154,39,116,72
PUSHBUTTON "&Toevoegen",IDC_ADD,280,41,44,18
PUSHBUTTON "&Verwijderen",IDC_REMOVE,280,66,44,18
CONTROL "Willekeurige &Berichten",IDC_RANDOM,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,151,134,85,10
DEFPUSHBUTTON "OK",IDOK,222,162,50,14
PUSHBUTTON "&Annuleren",IDCANCEL,283,162,50,14
LTEXT "&Lettertype:",IDC_STATIC,151,118,38,8
COMBOBOX IDC_COMBO2,195,116,130,71,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
CONTROL "&Vetgedrukt",IDC_BOLD,"Button",BS_AUTOCHECKBOX |
BS_MULTILINE | WS_TABSTOP,247,134,46,10
CTEXT "Matrix Schermbeveiliging www.catch22.org.uk",IDC_ABOUT,140,
158,75,18
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Matrix Schermbeveiliging"
END
#include "resource.h"
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
IDD_CONFIG DIALOGEX DISCARDABLE 0, 0, 340, 183
STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Matrix Schermbeveiliging Configuratie"
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "Decodeer &Snelheid",IDC_STATIC,7,7,128,36
LTEXT "Langzamer",IDC_STATIC,13,24,22,8
CONTROL "Slider1",IDC_SLIDER1,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,17,62,22
LTEXT "Sneller",IDC_STATIC,104,24,20,8
GROUPBOX "Cypher &Dichtheid",IDC_STATIC,7,50,128,36
LTEXT "Minder",IDC_STATIC,13,67,19,8
CONTROL "Slider1",IDC_SLIDER2,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,60,62,22
LTEXT "Meer",IDC_STATIC,104,67,23,8
GROUPBOX "Snel&heid van het bericht",IDC_MSGSPEEDGRP,7,93,127,36
LTEXT "Langzamer",IDC_STATIC,13,110,22,8
CONTROL "Slider3",IDC_SLIDER3,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,103,62,22
LTEXT "Sneller",IDC_STATIC,104,110,22,8
GROUPBOX "&Lettertype Grootte",IDC_STATIC,7,137,127,36
LTEXT "Kleiner",IDC_STATIC,13,153,24,8
CONTROL "Slider3",IDC_SLIDER4,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_BOTH | WS_TABSTOP,38,146,62,22
LTEXT "Groter",IDC_STATIC,104,153,25,8
GROUPBOX "&Gecodeerde berichten",IDC_STATIC,145,7,188,142
COMBOBOX IDC_COMBO1,153,22,172,62,CBS_DROPDOWN | WS_VSCROLL |
WS_TABSTOP
CONTROL "",IDC_PREVIEW,"Static",SS_LEFTNOWORDWRAP |
SS_CENTERIMAGE | WS_GROUP,154,39,116,72
PUSHBUTTON "&Toevoegen",IDC_ADD,280,41,44,18
PUSHBUTTON "&Verwijderen",IDC_REMOVE,280,66,44,18
CONTROL "Willekeurige &Berichten",IDC_RANDOM,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,151,134,85,10
DEFPUSHBUTTON "OK",IDOK,222,162,50,14
PUSHBUTTON "&Annuleren",IDCANCEL,283,162,50,14
LTEXT "&Lettertype:",IDC_STATIC,151,118,38,8
COMBOBOX IDC_COMBO2,195,116,130,71,CBS_DROPDOWNLIST | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
CONTROL "&Vetgedrukt",IDC_BOLD,"Button",BS_AUTOCHECKBOX |
BS_MULTILINE | WS_TABSTOP,247,134,46,10
CTEXT "Matrix Schermbeveiliging www.catch22.org.uk",IDC_ABOUT,140,
158,75,18
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Matrix Schermbeveiliging"
END

View File

@@ -1,158 +1,158 @@
# Microsoft Developer Studio Project File - Name="matrix" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=matrix - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "matrix.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "matrix.mak" CFG="matrix - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "matrix - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "matrix - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "matrix - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX- /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 libctiny.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /map /debug /machine:I386
!ELSEIF "$(CFG)" == "matrix - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "matrix - Win32 Release"
# Name "matrix - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\config.c
# End Source File
# Begin Source File
SOURCE=.\matrix.c
# End Source File
# Begin Source File
SOURCE=.\rsrc.rc
# End Source File
# Begin Source File
SOURCE=.\message.c
# End Source File
# Begin Source File
SOURCE=.\password.c
# End Source File
# Begin Source File
SOURCE=.\screensave.c
# End Source File
# Begin Source File
SOURCE=.\settings.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\globals.h
# End Source File
# Begin Source File
SOURCE=.\matrix.h
# End Source File
# Begin Source File
SOURCE=.\message.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
SOURCE=.\cursor1.cur
# End Source File
# Begin Source File
SOURCE=.\icon1.ico
# End Source File
# Begin Source File
SOURCE=.\matrix.bmp
# End Source File
# Begin Source File
SOURCE=.\matrix2.bmp
# End Source File
# End Group
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="matrix" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=matrix - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "matrix.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "matrix.mak" CFG="matrix - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "matrix - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "matrix - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "matrix - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX- /Zi /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 libctiny.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /map /debug /machine:I386
!ELSEIF "$(CFG)" == "matrix - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "matrix - Win32 Release"
# Name "matrix - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\config.c
# End Source File
# Begin Source File
SOURCE=.\matrix.c
# End Source File
# Begin Source File
SOURCE=.\rsrc.rc
# End Source File
# Begin Source File
SOURCE=.\message.c
# End Source File
# Begin Source File
SOURCE=.\password.c
# End Source File
# Begin Source File
SOURCE=.\screensave.c
# End Source File
# Begin Source File
SOURCE=.\settings.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\globals.h
# End Source File
# Begin Source File
SOURCE=.\matrix.h
# End Source File
# Begin Source File
SOURCE=.\message.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
SOURCE=.\cursor1.cur
# End Source File
# Begin Source File
SOURCE=.\icon1.ico
# End Source File
# Begin Source File
SOURCE=.\matrix.bmp
# End Source File
# Begin Source File
SOURCE=.\matrix2.bmp
# End Source File
# End Group
# End Target
# End Project

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Starfield Bildschirmschoner"
IDS_TITLE "Über"
IDS_TEXT "Keinerlei Einstellungen notwendig."
END
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Starfield Bildschirmschoner"
IDS_TITLE "Über"
IDS_TEXT "Keinerlei Einstellungen notwendig."
END

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Écran de veille Champ d'étoile"
IDS_TITLE "À propos de"
IDS_TEXT "Il n'y a aucune option à définir."
END
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Écran de veille Champ d'étoile"
IDS_TITLE "À propos de"
IDS_TEXT "Il n'y a aucune option à définir."
END

View File

@@ -1,17 +1,17 @@
/*
* PROJECT: ReactOS Starfield ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/starfield/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-09-24
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Žvaigždžių laukas"
IDS_TITLE "Apie"
IDS_TEXT "Nėra keičiamų parametrų."
END
/*
* PROJECT: ReactOS Starfield ScreenSaver
* LICENSE: GPL - See COPYING in the top level directory
* FILE: rosapps/applications/screensavers/starfield/lang/lt-LT.rc
* PURPOSE: Lithuanian Language File
* TRANSLATOR: Vytis "CMan" Girdžijauskas (cman@cman.us)
* DATE: 2007-09-24
*/
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Žvaigždžių laukas"
IDS_TITLE "Apie"
IDS_TEXT "Nėra keičiamų parametrų."
END

View File

@@ -1,8 +1,8 @@
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Sterren Schermbeveiliging"
IDS_TITLE "Informatie"
IDS_TEXT "Geen dingen om in te stellen."
END
LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Sterren Schermbeveiliging"
IDS_TITLE "Informatie"
IDS_TEXT "Geen dingen om in te stellen."
END

View File

@@ -1,12 +1,12 @@
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Hviezdne pole - šetrič obrazovky"
IDS_TITLE "Čo je ..."
IDS_TEXT "Nie sú potrebné žiadne nastavenia."
END
/* TRANSLATOR: Kario (kario@szm.sk)
* DATE OF TR: 22-09-2007
*/
LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Hviezdne pole - šetrič obrazovky"
IDS_TITLE "Čo je ..."
IDS_TEXT "Nie sú potrebné žiadne nastavenia."
END

View File

@@ -1,16 +1,16 @@
/*
* PROJECT: Default ScreenSaver
* LICENSE: Public Domain
* FILE: base/applications/screensavers/starfield/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Default ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Заставка ""Зоряне поле"""
IDS_TITLE "Про"
IDS_TEXT "Ця заставка не має налаштовуваних параметрів."
END
/*
* PROJECT: Default ScreenSaver
* LICENSE: Public Domain
* FILE: base/applications/screensavers/starfield/lang/uk-UA.rc
* PURPOSE: Ukraianian Language File for Default ScreenSaver
* TRANSLATOR: Artem Reznikov
*/
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
STRINGTABLE DISCARDABLE
BEGIN
IDS_DESCRIPTION "Заставка ""Зоряне поле"""
IDS_TITLE "Про"
IDS_TEXT "Ця заставка не має налаштовуваних параметрів."
END

View File

@@ -1,6 +1,6 @@
#pragma once
#define IDS_DESCRIPTION 1
#define IDS_TITLE 2
#define IDS_TEXT 3
#define IDI_ICON 101
#pragma once
#define IDS_DESCRIPTION 1
#define IDS_TITLE 2
#define IDS_TEXT 3
#define IDI_ICON 101

View File

@@ -1,205 +1,205 @@
/*
* ReactOS Win32 Applications
* Copyright (C) 2007 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* COPYRIGHT : See COPYING in the top level directory
* PROJECT : Event Logging Utility
* FILE : logevent.c
* PROGRAMMER: Marc Piulachs (marc.piulachs at codexchange [dot] net)
*/
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <tchar.h>
#include <stdarg.h>
TCHAR* m_MachineName = NULL;
TCHAR* m_Text = "No User Event Text";
TCHAR* m_Source = "User Event";
WORD m_Severity = EVENTLOG_INFORMATION_TYPE;
WORD m_Category = 0;
DWORD m_EventID = 1;
void
Usage(VOID)
{
fputs("Usage: logevent.exe [-m \\MachineName] [options] \"Event Text\"", stderr);
fputs("\n\n", stderr);
fputs("Options:\n", stderr);
fputs(" -s Severity one of:\n", stderr);
fputs(" \t(S)uccess\n", stderr);
fputs(" \t(I)nformation\n", stderr);
fputs(" \t(W)arning\n", stderr);
fputs(" \t(E)rror\n", stderr);
fputs(" \t(F)ailure\n", stderr);
fputs(" -r Source\n", stderr);
fputs(" -c Category number\n", stderr);
fputs(" -e Event ID\n", stderr);
fputs(" /? Help\n", stderr);
}
void
WriteEvent (VOID)
{
HANDLE hAppLog;
BOOL bSuccess;
LPCTSTR arrLogEntry[] = { m_Text }; //writing just one entry
/* Get a handle to the Application event log */
hAppLog = RegisterEventSource(
(LPCSTR)m_MachineName, /* machine */
(LPCSTR)m_Source); /* source name */
/* Now report the event, which will add this event to the event log */
bSuccess = ReportEvent(
hAppLog, /* event-log handle */
m_Severity, /* event type */
m_Category, /* category */
m_EventID, /* event ID */
NULL, /* no user SID */
1, /* number of substitution strings */
0, /* no binary data */
arrLogEntry, /* string array */
NULL); /* address of data */
DeregisterEventSource(hAppLog);
return;
}
/* Parse command line parameters */
static BOOL ParseCmdline(int argc, TCHAR **argv)
{
INT i;
BOOL ShowUsage;
BOOL FoundEventText;
BOOL InvalidOption;
if (argc < 2) {
ShowUsage = TRUE;
} else {
ShowUsage = FALSE;
}
FoundEventText = FALSE;
InvalidOption = FALSE;
for (i = 1; i < argc; i++) {
if (argv[i][0] == '-' || argv[i][0] == '/') {
switch (argv[i][1]) {
case 's':
case 'S':
switch (argv[i + 1][0])
{
case 's':
case 'S':
m_Severity = EVENTLOG_SUCCESS;
i++;
break;
case 'i':
case 'I':
m_Severity = EVENTLOG_INFORMATION_TYPE;
i++;
break;
case 'w':
case 'W':
m_Severity = EVENTLOG_WARNING_TYPE;
i++;
break;
case 'e':
case 'E':
m_Severity = EVENTLOG_ERROR_TYPE;
i++;
break;
case 'f':
case 'F':
m_Severity = EVENTLOG_ERROR_TYPE;
i++;
break;
default:
printf("Bad option %s.\n", argv[i]);
Usage();
return FALSE;
}
break;
case 'm':
case 'M':
m_MachineName = argv[i + 1];
i++;
break;
case 'r':
case 'R':
m_Source = argv[i + 1];
i++;
break;
case 'c':
case 'C':
m_Category = atoi(argv[i + 1]);
i++;
break;
case 'e':
case 'E':
m_EventID = atoi(argv[i + 1]);
i++;
break;
case '?':
ShowUsage = TRUE;
break;
default:
printf("Bad option %s.\n", argv[i]);
Usage();
return FALSE;
}
if (InvalidOption) {
printf("Bad option format %s.\n", argv[i]);
return FALSE;
}
} else {
if (FoundEventText) {
printf("Bad parameter %s.\n", argv[i]);
return FALSE;
} else {
m_Text = argv[i];
FoundEventText = TRUE;
}
}
}
if ((!ShowUsage) && (!FoundEventText)) {
printf("The event text must be specified.\n");
return FALSE;
}
if (ShowUsage) {
Usage();
return FALSE;
}
return TRUE;
}
int main(int argc, char **argv)
{
if (ParseCmdline(argc, argv))
WriteEvent ();
return 0;
}
/*
* ReactOS Win32 Applications
* Copyright (C) 2007 ReactOS Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*
* COPYRIGHT : See COPYING in the top level directory
* PROJECT : Event Logging Utility
* FILE : logevent.c
* PROGRAMMER: Marc Piulachs (marc.piulachs at codexchange [dot] net)
*/
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <tchar.h>
#include <stdarg.h>
TCHAR* m_MachineName = NULL;
TCHAR* m_Text = "No User Event Text";
TCHAR* m_Source = "User Event";
WORD m_Severity = EVENTLOG_INFORMATION_TYPE;
WORD m_Category = 0;
DWORD m_EventID = 1;
void
Usage(VOID)
{
fputs("Usage: logevent.exe [-m \\MachineName] [options] \"Event Text\"", stderr);
fputs("\n\n", stderr);
fputs("Options:\n", stderr);
fputs(" -s Severity one of:\n", stderr);
fputs(" \t(S)uccess\n", stderr);
fputs(" \t(I)nformation\n", stderr);
fputs(" \t(W)arning\n", stderr);
fputs(" \t(E)rror\n", stderr);
fputs(" \t(F)ailure\n", stderr);
fputs(" -r Source\n", stderr);
fputs(" -c Category number\n", stderr);
fputs(" -e Event ID\n", stderr);
fputs(" /? Help\n", stderr);
}
void
WriteEvent (VOID)
{
HANDLE hAppLog;
BOOL bSuccess;
LPCTSTR arrLogEntry[] = { m_Text }; //writing just one entry
/* Get a handle to the Application event log */
hAppLog = RegisterEventSource(
(LPCSTR)m_MachineName, /* machine */
(LPCSTR)m_Source); /* source name */
/* Now report the event, which will add this event to the event log */
bSuccess = ReportEvent(
hAppLog, /* event-log handle */
m_Severity, /* event type */
m_Category, /* category */
m_EventID, /* event ID */
NULL, /* no user SID */
1, /* number of substitution strings */
0, /* no binary data */
arrLogEntry, /* string array */
NULL); /* address of data */
DeregisterEventSource(hAppLog);
return;
}
/* Parse command line parameters */
static BOOL ParseCmdline(int argc, TCHAR **argv)
{
INT i;
BOOL ShowUsage;
BOOL FoundEventText;
BOOL InvalidOption;
if (argc < 2) {
ShowUsage = TRUE;
} else {
ShowUsage = FALSE;
}
FoundEventText = FALSE;
InvalidOption = FALSE;
for (i = 1; i < argc; i++) {
if (argv[i][0] == '-' || argv[i][0] == '/') {
switch (argv[i][1]) {
case 's':
case 'S':
switch (argv[i + 1][0])
{
case 's':
case 'S':
m_Severity = EVENTLOG_SUCCESS;
i++;
break;
case 'i':
case 'I':
m_Severity = EVENTLOG_INFORMATION_TYPE;
i++;
break;
case 'w':
case 'W':
m_Severity = EVENTLOG_WARNING_TYPE;
i++;
break;
case 'e':
case 'E':
m_Severity = EVENTLOG_ERROR_TYPE;
i++;
break;
case 'f':
case 'F':
m_Severity = EVENTLOG_ERROR_TYPE;
i++;
break;
default:
printf("Bad option %s.\n", argv[i]);
Usage();
return FALSE;
}
break;
case 'm':
case 'M':
m_MachineName = argv[i + 1];
i++;
break;
case 'r':
case 'R':
m_Source = argv[i + 1];
i++;
break;
case 'c':
case 'C':
m_Category = atoi(argv[i + 1]);
i++;
break;
case 'e':
case 'E':
m_EventID = atoi(argv[i + 1]);
i++;
break;
case '?':
ShowUsage = TRUE;
break;
default:
printf("Bad option %s.\n", argv[i]);
Usage();
return FALSE;
}
if (InvalidOption) {
printf("Bad option format %s.\n", argv[i]);
return FALSE;
}
} else {
if (FoundEventText) {
printf("Bad parameter %s.\n", argv[i]);
return FALSE;
} else {
m_Text = argv[i];
FoundEventText = TRUE;
}
}
}
if ((!ShowUsage) && (!FoundEventText)) {
printf("The event text must be specified.\n");
return FALSE;
}
if (ShowUsage) {
Usage();
return FALSE;
}
return TRUE;
}
int main(int argc, char **argv)
{
if (ParseCmdline(argc, argv))
WriteEvent ();
return 0;
}

View File

@@ -1,104 +1,104 @@
# Microsoft Developer Studio Project File - Name="mkdosfs" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=mkdosfs - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "mkdosfs.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "mkdosfs.mak" CFG="mkdosfs - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "mkdosfs - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "mkdosfs - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "mkdosfs - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "mkdosfs - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "mkdosfs - Win32 Release"
# Name "mkdosfs - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\getopt.c
# End Source File
# Begin Source File
SOURCE=.\mkdosfs.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="mkdosfs" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=mkdosfs - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "mkdosfs.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "mkdosfs.mak" CFG="mkdosfs - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "mkdosfs - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "mkdosfs - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "mkdosfs - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x407 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "mkdosfs - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x407 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "mkdosfs - Win32 Release"
# Name "mkdosfs - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\getopt.c
# End Source File
# Begin Source File
SOURCE=.\mkdosfs.c
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "mkdosfs"=".\mkdosfs.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "mkdosfs"=".\mkdosfs.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,49 +1,49 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: mkdosfs - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP173.tmp" with contents
[
/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/mkdosfs.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
"C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c"
]
Creating command line "cl.exe @"C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP173.tmp""
Creating temporary file "C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP174.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/mkdosfs.pdb" /machine:I386 /out:"Release/mkdosfs.exe"
".\Release\getopt.obj"
".\Release\mkdosfs.obj"
]
Creating command line "link.exe @"C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP174.tmp""
<h3>Output Window</h3>
Compiling...
mkdosfs.c
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(272) : warning C4244: '=' : conversion from '__int64 ' to 'long ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(273) : warning C4244: '=' : conversion from '__int64 ' to 'long ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(487) : warning C4305: 'initializing' : truncation from 'const int ' to 'char '
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(487) : warning C4305: 'initializing' : truncation from 'const int ' to 'char '
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(704) : warning C4018: '<' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(706) : warning C4018: '>' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(717) : warning C4018: '<' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(813) : warning C4244: 'return' : conversion from '__int64 ' to 'int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(888) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(889) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1197) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1223) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1242) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1270) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1387) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1400) : warning C4018: '<=' : signed/unsigned mismatch
Linking...
<h3>Results</h3>
mkdosfs.exe - 0 error(s), 16 warning(s)
</pre>
</body>
</html>
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: mkdosfs - Win32 Release--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP173.tmp" with contents
[
/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/mkdosfs.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
"C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c"
]
Creating command line "cl.exe @"C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP173.tmp""
Creating temporary file "C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP174.tmp" with contents
[
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/mkdosfs.pdb" /machine:I386 /out:"Release/mkdosfs.exe"
".\Release\getopt.obj"
".\Release\mkdosfs.obj"
]
Creating command line "link.exe @"C:\DOKUME~1\JENS-U~1\LOKALE~1\Temp\RSP174.tmp""
<h3>Output Window</h3>
Compiling...
mkdosfs.c
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(272) : warning C4244: '=' : conversion from '__int64 ' to 'long ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(273) : warning C4244: '=' : conversion from '__int64 ' to 'long ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(487) : warning C4305: 'initializing' : truncation from 'const int ' to 'char '
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(487) : warning C4305: 'initializing' : truncation from 'const int ' to 'char '
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(704) : warning C4018: '<' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(706) : warning C4018: '>' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(717) : warning C4018: '<' : signed/unsigned mismatch
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(813) : warning C4244: 'return' : conversion from '__int64 ' to 'int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(888) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(889) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1197) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1223) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1242) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1270) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1387) : warning C4244: '=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
C:\cygwin\home\jum\dosfstools-2.8\mkdosfs\mkdosfs.c(1400) : warning C4018: '<=' : signed/unsigned mismatch
Linking...
<h3>Results</h3>
mkdosfs.exe - 0 error(s), 16 warning(s)
</pre>
</body>
</html>

View File

@@ -1,10 +1,10 @@
<?php
$file = fopen ("hw.txt", "a");
if (!$file) {
echo "<p>Unable to open file for writing.\n";
exit;
}
fputs ($file, $_POST['data']. "\n");
fclose ($file);
echo "_ok_";
<?php
$file = fopen ("hw.txt", "a");
if (!$file) {
echo "<p>Unable to open file for writing.\n";
exit;
}
fputs ($file, $_POST['data']. "\n");
fclose ($file);
echo "_ok_";
?>

View File

@@ -1,8 +1,8 @@
[URL]
udpate = http://iso.reactos.org/_tools/rosddt.ini
report = http://iso.reactos.org/_tools/hw.php
[HW]
PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00 = ok
ACPI Fixed Feature Button = notwork
[URL]
udpate = http://iso.reactos.org/_tools/rosddt.ini
report = http://iso.reactos.org/_tools/hw.php
[HW]
PCI\VEN_8086&DEV_7000&SUBSYS_00000000&REV_00 = ok
ACPI Fixed Feature Button = notwork
Intel(R) 82371AB/EB PCI Bus Master IDE Controller = crash

View File

@@ -1,72 +1,72 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE "SYSTEMINFO [/S système [/U utilisateur [/P [motdepasse]]]] [/FO format] [/NH]\n\n\
Description :\n\
Cet outil en ligne de commande permet à un administrateur d'effectuer une requête sur les informations\n\
basiques de la configuration du système.\n\n\
Parameter List:\n\
/S système Spécifie le système distant auquel se connecter.\n\n\
/U [domain\\]user Spécifie le contexte utilisateur dans lequel\n\
la commande doit être exécutée.\n\n\
/P [motdepasse] Spécifie le mot de passe pour le contexte utilisateur\n\
fourni. Le demande si ommis.\n\n\
/FO format Spécifie le format dans lequel la sortie\n\
doit être affichée.\n\
Valeurs valides: ""TABLE"", ""LIST"", ""CSV"".\n\n\
/NH Spécifie que ""L'entête de colonne"" ne doit\n\
pas être affiché dans la sortie.\n\
Valide uniquement pour les format ""TABLE"" et ""CSV"".\n\n\
/? Affiche cette aide.\n\n\
Exemples:\n\
SYSTEMINFO\n\
SYSTEMINFO /?\n\
SYSTEMINFO /S système\n\
SYSTEMINFO /S système /U utilisateur\n\
SYSTEMINFO /S système /U domaine\\utilisateur /P motdepasse /FO TABLE\n\
SYSTEMINFO /S système /FO LIST\n\
SYSTEMINFO /S système /FO CSV /NH\n"
IDS_HOST_NAME, "Nom d'hôte"
IDS_OS_NAME, "Nom du système d'exploitation"
IDS_OS_VERSION, "Version du système d'exploitation"
IDS_BUILD, "Compilation"
IDS_OS_BUILD_TYPE, "Type de compilation du système d'exploitation"
IDS_REG_OWNER, "Propriétaire enregistré"
IDS_REG_ORG, "Organisation enregistrée"
IDS_PRODUCT_ID, "ID du produit"
IDS_INST_DATE, "Date d'installation"
IDS_UP_TIME, "System Up Time"
IDS_UP_TIME_FORMAT, "%u Days, %u Hours, %u Minutes, %u Seconds"
IDS_SYS_MANUFACTURER, "System Manufacturer"
IDS_SYS_MODEL, "System Model"
IDS_SYS_TYPE, "Type du système"
IDS_PROCESSORS, "Processeur(s)"
IDS_PROCESSORS_FORMAT, "%u Processeur(s) installé(s)."
IDS_BIOS_DATE, "Date du BIOS"
IDS_BIOS_VERSION, "Version du BIOS"
IDS_ROS_DIR, "Répertoire ReactOS"
IDS_SYS_DIR, "Répertoire système"
IDS_BOOT_DEV, "Périphérique de démarrage"
IDS_SYS_LOCALE, "Paramètre régional du système"
IDS_INPUT_LOCALE, "Paramètre régional de saisie"
IDS_TIME_ZONE, "Fuseau horaire"
IDS_TOTAL_PHYS_MEM, "Mémoire physique totale"
IDS_AVAIL_PHISICAL_MEM, "Mémoire physique disponible"
IDS_VIRT_MEM_MAX, "Mémoire virtuelle: Taille max"
IDS_VIRT_MEM_AVAIL, "Mémoire virtuelle: Disponible"
IDS_VIRT_MEM_INUSE, "Mémoire virtuelle: Utilisée"
IDS_PAGEFILE_LOC, "Emplacement(s) des fichiers d'échange"
IDS_DOMAIN, "Domaine"
IDS_NETWORK_CARDS, "Carte(s) réseau"
IDS_NETWORK_CARDS_FORMAT, "%u installée(s)."
IDS_CONNECTION_NAME, "Connection Name"
IDS_STATUS, "Status"
IDS_MEDIA_DISCONNECTED, "Media disconnected"
IDS_DHCP_ENABLED, "DHCP Enabled"
IDS_NO, "No"
IDS_IP_ADDRESSES, "IP address(es)"
END
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
STRINGTABLE DISCARDABLE
BEGIN
IDS_USAGE "SYSTEMINFO [/S système [/U utilisateur [/P [motdepasse]]]] [/FO format] [/NH]\n\n\
Description :\n\
Cet outil en ligne de commande permet à un administrateur d'effectuer une requête sur les informations\n\
basiques de la configuration du système.\n\n\
Parameter List:\n\
/S système Spécifie le système distant auquel se connecter.\n\n\
/U [domain\\]user Spécifie le contexte utilisateur dans lequel\n\
la commande doit être exécutée.\n\n\
/P [motdepasse] Spécifie le mot de passe pour le contexte utilisateur\n\
fourni. Le demande si ommis.\n\n\
/FO format Spécifie le format dans lequel la sortie\n\
doit être affichée.\n\
Valeurs valides: ""TABLE"", ""LIST"", ""CSV"".\n\n\
/NH Spécifie que ""L'entête de colonne"" ne doit\n\
pas être affiché dans la sortie.\n\
Valide uniquement pour les format ""TABLE"" et ""CSV"".\n\n\
/? Affiche cette aide.\n\n\
Exemples:\n\
SYSTEMINFO\n\
SYSTEMINFO /?\n\
SYSTEMINFO /S système\n\
SYSTEMINFO /S système /U utilisateur\n\
SYSTEMINFO /S système /U domaine\\utilisateur /P motdepasse /FO TABLE\n\
SYSTEMINFO /S système /FO LIST\n\
SYSTEMINFO /S système /FO CSV /NH\n"
IDS_HOST_NAME, "Nom d'hôte"
IDS_OS_NAME, "Nom du système d'exploitation"
IDS_OS_VERSION, "Version du système d'exploitation"
IDS_BUILD, "Compilation"
IDS_OS_BUILD_TYPE, "Type de compilation du système d'exploitation"
IDS_REG_OWNER, "Propriétaire enregistré"
IDS_REG_ORG, "Organisation enregistrée"
IDS_PRODUCT_ID, "ID du produit"
IDS_INST_DATE, "Date d'installation"
IDS_UP_TIME, "System Up Time"
IDS_UP_TIME_FORMAT, "%u Days, %u Hours, %u Minutes, %u Seconds"
IDS_SYS_MANUFACTURER, "System Manufacturer"
IDS_SYS_MODEL, "System Model"
IDS_SYS_TYPE, "Type du système"
IDS_PROCESSORS, "Processeur(s)"
IDS_PROCESSORS_FORMAT, "%u Processeur(s) installé(s)."
IDS_BIOS_DATE, "Date du BIOS"
IDS_BIOS_VERSION, "Version du BIOS"
IDS_ROS_DIR, "Répertoire ReactOS"
IDS_SYS_DIR, "Répertoire système"
IDS_BOOT_DEV, "Périphérique de démarrage"
IDS_SYS_LOCALE, "Paramètre régional du système"
IDS_INPUT_LOCALE, "Paramètre régional de saisie"
IDS_TIME_ZONE, "Fuseau horaire"
IDS_TOTAL_PHYS_MEM, "Mémoire physique totale"
IDS_AVAIL_PHISICAL_MEM, "Mémoire physique disponible"
IDS_VIRT_MEM_MAX, "Mémoire virtuelle: Taille max"
IDS_VIRT_MEM_AVAIL, "Mémoire virtuelle: Disponible"
IDS_VIRT_MEM_INUSE, "Mémoire virtuelle: Utilisée"
IDS_PAGEFILE_LOC, "Emplacement(s) des fichiers d'échange"
IDS_DOMAIN, "Domaine"
IDS_NETWORK_CARDS, "Carte(s) réseau"
IDS_NETWORK_CARDS_FORMAT, "%u installée(s)."
IDS_CONNECTION_NAME, "Connection Name"
IDS_STATUS, "Status"
IDS_MEDIA_DISCONNECTED, "Media disconnected"
IDS_DHCP_ENABLED, "DHCP Enabled"
IDS_NO, "No"
IDS_IP_ADDRESSES, "IP address(es)"
END

View File

@@ -1,169 +1,169 @@
# Microsoft Developer Studio Project File - Name="sdkparse" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=sdkparse - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "sdkparse.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "sdkparse.mak" CFG="sdkparse - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "sdkparse - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "sdkparse - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "sdkparse - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "sdkparse - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "sdkparse - Win32 Release"
# Name "sdkparse - Win32 Debug"
# Begin Source File
SOURCE=.\assert.h
# End Source File
# Begin Source File
SOURCE=.\binary2cstr.cpp
# End Source File
# Begin Source File
SOURCE=.\EnumDirs.h
# End Source File
# Begin Source File
SOURCE=.\EnumDirsImpl.h
# End Source File
# Begin Source File
SOURCE=.\EnumFiles.h
# End Source File
# Begin Source File
SOURCE=.\EnumFilesImpl.h
# End Source File
# Begin Source File
SOURCE=.\File.cpp
# End Source File
# Begin Source File
SOURCE=.\File.h
# End Source File
# Begin Source File
SOURCE=.\FixLFN.h
# End Source File
# Begin Source File
SOURCE=.\Header.h
# End Source File
# Begin Source File
SOURCE=.\iskeyword.cpp
# End Source File
# Begin Source File
SOURCE=.\iskeyword.h
# End Source File
# Begin Source File
SOURCE=.\safestr.h
# End Source File
# Begin Source File
SOURCE=.\sdkparse.cpp
# End Source File
# Begin Source File
SOURCE=.\skip_ws.cpp
# End Source File
# Begin Source File
SOURCE=.\skip_ws.h
# End Source File
# Begin Source File
SOURCE=.\strip_comments.cpp
# End Source File
# Begin Source File
SOURCE=.\strip_comments.h
# End Source File
# Begin Source File
SOURCE=.\Symbol.h
# End Source File
# Begin Source File
SOURCE=.\tokenize.cpp
# End Source File
# Begin Source File
SOURCE=.\Type.h
# End Source File
# End Target
# End Project
# Microsoft Developer Studio Project File - Name="sdkparse" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Console Application" 0x0103
CFG=sdkparse - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "sdkparse.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "sdkparse.mak" CFG="sdkparse - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "sdkparse - Win32 Release" (based on "Win32 (x86) Console Application")
!MESSAGE "sdkparse - Win32 Debug" (based on "Win32 (x86) Console Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "sdkparse - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "sdkparse - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "sdkparse - Win32 Release"
# Name "sdkparse - Win32 Debug"
# Begin Source File
SOURCE=.\assert.h
# End Source File
# Begin Source File
SOURCE=.\binary2cstr.cpp
# End Source File
# Begin Source File
SOURCE=.\EnumDirs.h
# End Source File
# Begin Source File
SOURCE=.\EnumDirsImpl.h
# End Source File
# Begin Source File
SOURCE=.\EnumFiles.h
# End Source File
# Begin Source File
SOURCE=.\EnumFilesImpl.h
# End Source File
# Begin Source File
SOURCE=.\File.cpp
# End Source File
# Begin Source File
SOURCE=.\File.h
# End Source File
# Begin Source File
SOURCE=.\FixLFN.h
# End Source File
# Begin Source File
SOURCE=.\Header.h
# End Source File
# Begin Source File
SOURCE=.\iskeyword.cpp
# End Source File
# Begin Source File
SOURCE=.\iskeyword.h
# End Source File
# Begin Source File
SOURCE=.\safestr.h
# End Source File
# Begin Source File
SOURCE=.\sdkparse.cpp
# End Source File
# Begin Source File
SOURCE=.\skip_ws.cpp
# End Source File
# Begin Source File
SOURCE=.\skip_ws.h
# End Source File
# Begin Source File
SOURCE=.\strip_comments.cpp
# End Source File
# Begin Source File
SOURCE=.\strip_comments.h
# End Source File
# Begin Source File
SOURCE=.\Symbol.h
# End Source File
# Begin Source File
SOURCE=.\tokenize.cpp
# End Source File
# Begin Source File
SOURCE=.\Type.h
# End Source File
# End Target
# End Project

View File

@@ -1,29 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "sdkparse"=.\sdkparse.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "sdkparse"=.\sdkparse.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,341 +1,341 @@
[Version]
Signature = $Windows NT$
ClassGUID = {00000000-0000-0000-0000-000000000000}
[ShortcutFolders]
DesktopShortcuts=0,
ProgramShortcuts=2,
AdminToolsShortcuts=47,
AccessoriesShortcuts=2, %ACCESSORIES%
SystemToolsShortcuts=2, %ACCESSORIES%\%SYSTOOLS%
AccessibilityShortcuts=2, %ACCESSORIES%\%ACCESSIBILITY%
EntertainmentShortcuts=2, %ACCESSORIES%\%ENTERTAINMENT%
CommunicationsShortcuts=2, %ACCESSORIES%\%COMMUNICATIONS%
GamesShortcuts=2, %GAMES%
[SystemToolsShortcuts]
%SystemRoot%\system32\fontsub.exe, %FONTSUB_TITLE%, %FONTSUB_DESC%, 0
%SystemRoot%\system32\screenshot.exe, %SCREENSHOT_TITLE%, %SCREENSHOT_DESC%, 0, %HOMEDRIVE%%HOMEPATH%
;-------------------------------- STRINGS -------------------------------
[Strings]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Bulgarian
[Strings.0402]
ACCESSORIES=Принадлежности
SYSTOOLS=Системни средства
ACCESSIBILITY=Достъпност
ENTERTAINMENT=Забавление
COMMUNICATIONS=Communications
GAMES=Игри
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Снимка
SCREENSHOT_DESC=Заснемане на екрана
; Czech
[Strings.0405]
ACCESSORIES=Příslušenství
SYSTOOLS=Systémové nástroje
ACCESSIBILITY=Usnadnění
ENTERTAINMENT=Zábava
COMMUNICATIONS=Communications
GAMES=Hry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Sejmout obrazovku
SCREENSHOT_DESC=Sejmout obrazovku
; German
[Strings.0407]
ACCESSORIES=Zubehör
SYSTOOLS=Systemprogramme
ACCESSIBILITY=Eingabehilfen
ENTERTAINMENT=Unterhaltung
COMMUNICATIONS=Kommunikation
GAMES=Spiele
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Screenshot erstellen
; Greek
[Strings.0408]
ACCESSORIES=Βοηθήματα
SYSTOOLS=Εργαλεία Συστήματος
ACCESSIBILITY=Για άτομα με ειδικές ανάγκες
ENTERTAINMENT=Διασκέδαση
COMMUNICATIONS=Communications
GAMES=Παιχνίδια
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Spanish
[Strings.0a]
ACCESSORIES=Accesorios
SYSTOOLS=Herramientas del sistema
ACCESSIBILITY=Accesibilidad
ENTERTAINMENT=Entretenimiento
COMMUNICATIONS=Comunicaciones
GAMES=Juegos
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Captura de pantalla
SCREENSHOT_DESC=Guarda secciones de la pantalla como un archivo de imagen.
; Estonian
[Strings.0425]
ACCESSORIES=Tarvikud
SYSTOOLS=Süsteemi tööriistad
ACCESSIBILITY=Ligipääsetavus
ENTERTAINMENT=Meelelahutus
COMMUNICATIONS=Communications
GAMES=Mängud
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Tee ekraanitõmmis
; French
[Strings.040C]
ACCESSORIES=Accessoires
SYSTOOLS=Outils système
ACCESSIBILITY=Accessibilité
ENTERTAINMENT=Divertissement
COMMUNICATIONS=Communications
GAMES=Jeux
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Capture d'écran
SCREENSHOT_DESC=Faire une capture d'écran
; Hebrew
[Strings.040D]
ACCESSORIES=עזרים
SYSTOOLS=כלי מערכת
ACCESSIBILITY=נגישות
ENTERTAINMENT=בידור
COMMUNICATIONS=Communications
GAMES=משחקים
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=צילום מסך
; Hungarian
[Strings.040E]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Játékok
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Indonesian
[Strings.0421]
ACCESSORIES=Aksesoris
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Ambil foto layar
; Italian
[Strings.0410]
ACCESSORIES=Accessori
SYSTOOLS=Strumenti di sistema
ACCESSIBILITY=Accessibilità
ENTERTAINMENT=Divertimento
COMMUNICATIONS=Comunicazioni
GAMES=Giochi
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Salva una schermata
; Japanese
[Strings.0411]
ACCESSORIES=アクセサリ
SYSTOOLS=システムツール
ACCESSIBILITY=アクセシビリティ
ENTERTAINMENT=エンターテイメント
COMMUNICATIONS=Communications
GAMES=ゲーム
FONTSUB_TITLE=FontSub
FONTSUB_DESC=フォント代替エディタ
SCREENSHOT_TITLE=スナップショット
SCREENSHOT_DESC=スクリーンショットを撮ります
; Dutch
[Strings.0413]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Norwegian
[Strings.0414]
ACCESSORIES=Tilbehør
SYSTOOLS=Systemverktøy
ACCESSIBILITY=Tilgjengelighet
ENTERTAINMENT=Underholdning
COMMUNICATIONS=Communications
GAMES=Spill
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Ta skjermbilde
; Polish
[Strings.0415]
ACCESSORIES=Akcesoria
SYSTOOLS=Narzędzia systemowe
ACCESSIBILITY=Ułatwienia dostępu
ENTERTAINMENT=Rozrywka
COMMUNICATIONS=Komunikacja
GAMES=Gry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Zrzut ekranu
SCREENSHOT_DESC=Zrób zrzut ekranu
; Portuguese - Brazil
[Strings.0416]
ACCESSORIES=Acessórios
SYSTOOLS=Ferramentas de Sistema
ACCESSIBILITY=Acessibilidade
ENTERTAINMENT=Entretenimento
COMMUNICATIONS=Communications
GAMES=Jogos
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Capturar Tela
; Romanian
[Strings.0418]
ACCESSORIES=Accesorii
SYSTOOLS=Instrumente de sistem
ACCESSIBILITY=Accesibilitate
ENTERTAINMENT=Divertisment
COMMUNICATIONS=Communicații
GAMES=Jocuri
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Captură de ecran
SCREENSHOT_DESC=Program pentru executarea de capturi de ecran.
; Russian
[Strings.0419]
ACCESSORIES=Стандартные
SYSTOOLS=Служебные
ACCESSIBILITY=Специальные возможности
ENTERTAINMENT=Развлечения
COMMUNICATIONS=Связь
GAMES=Игры
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Скриншот
SCREENSHOT_DESC=Сделать снимок экрана
; Slovak
[Strings.041B]
ACCESSORIES=Príslušenstvo
SYSTOOLS=Systémové nástroje
ACCESSIBILITY=Zjednodušenie ovládania
ENTERTAINMENT=Zábava
COMMUNICATIONS=Communications
GAMES=Hry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Momentka //SnapShot
SCREENSHOT_DESC=Uložiť obrazovku
; Turkish
[Strings.041f]
ACCESSORIES=Donatılar
SYSTOOLS=Dizge Araçları
ACCESSIBILITY=Erişilebilirlik
ENTERTAINMENT=Eğlence
COMMUNICATIONS=İletişim
GAMES=Oyunlar
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Ekran Görüntüsü
SCREENSHOT_DESC=Ekran görüntüsü al
; Ukrainian
[Strings.0422]
ACCESSORIES=Допоміжні програми
SYSTOOLS=Службові
ACCESSIBILITY=Спеціальні можливості
ENTERTAINMENT=Розваги
COMMUNICATIONS=Communications
GAMES=Ігри
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Знімок екрану
SCREENSHOT_DESC=Зробити знімок екрана
; Chinese
[Strings.0804]
ACCESSORIES=附件
SYSTOOLS=系统工具
ACCESSIBILITY=辅助功能
ENTERTAINMENT=娱乐
COMMUNICATIONS=通信
GAMES=游戏
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=屏幕截图
SCREENSHOT_DESC=屏幕截图
[Version]
Signature = $Windows NT$
ClassGUID = {00000000-0000-0000-0000-000000000000}
[ShortcutFolders]
DesktopShortcuts=0,
ProgramShortcuts=2,
AdminToolsShortcuts=47,
AccessoriesShortcuts=2, %ACCESSORIES%
SystemToolsShortcuts=2, %ACCESSORIES%\%SYSTOOLS%
AccessibilityShortcuts=2, %ACCESSORIES%\%ACCESSIBILITY%
EntertainmentShortcuts=2, %ACCESSORIES%\%ENTERTAINMENT%
CommunicationsShortcuts=2, %ACCESSORIES%\%COMMUNICATIONS%
GamesShortcuts=2, %GAMES%
[SystemToolsShortcuts]
%SystemRoot%\system32\fontsub.exe, %FONTSUB_TITLE%, %FONTSUB_DESC%, 0
%SystemRoot%\system32\screenshot.exe, %SCREENSHOT_TITLE%, %SCREENSHOT_DESC%, 0, %HOMEDRIVE%%HOMEPATH%
;-------------------------------- STRINGS -------------------------------
[Strings]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Bulgarian
[Strings.0402]
ACCESSORIES=Принадлежности
SYSTOOLS=Системни средства
ACCESSIBILITY=Достъпност
ENTERTAINMENT=Забавление
COMMUNICATIONS=Communications
GAMES=Игри
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Снимка
SCREENSHOT_DESC=Заснемане на екрана
; Czech
[Strings.0405]
ACCESSORIES=Příslušenství
SYSTOOLS=Systémové nástroje
ACCESSIBILITY=Usnadnění
ENTERTAINMENT=Zábava
COMMUNICATIONS=Communications
GAMES=Hry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Sejmout obrazovku
SCREENSHOT_DESC=Sejmout obrazovku
; German
[Strings.0407]
ACCESSORIES=Zubehör
SYSTOOLS=Systemprogramme
ACCESSIBILITY=Eingabehilfen
ENTERTAINMENT=Unterhaltung
COMMUNICATIONS=Kommunikation
GAMES=Spiele
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Screenshot erstellen
; Greek
[Strings.0408]
ACCESSORIES=Βοηθήματα
SYSTOOLS=Εργαλεία Συστήματος
ACCESSIBILITY=Για άτομα με ειδικές ανάγκες
ENTERTAINMENT=Διασκέδαση
COMMUNICATIONS=Communications
GAMES=Παιχνίδια
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Spanish
[Strings.0a]
ACCESSORIES=Accesorios
SYSTOOLS=Herramientas del sistema
ACCESSIBILITY=Accesibilidad
ENTERTAINMENT=Entretenimiento
COMMUNICATIONS=Comunicaciones
GAMES=Juegos
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Captura de pantalla
SCREENSHOT_DESC=Guarda secciones de la pantalla como un archivo de imagen.
; Estonian
[Strings.0425]
ACCESSORIES=Tarvikud
SYSTOOLS=Süsteemi tööriistad
ACCESSIBILITY=Ligipääsetavus
ENTERTAINMENT=Meelelahutus
COMMUNICATIONS=Communications
GAMES=Mängud
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Tee ekraanitõmmis
; French
[Strings.040C]
ACCESSORIES=Accessoires
SYSTOOLS=Outils système
ACCESSIBILITY=Accessibilité
ENTERTAINMENT=Divertissement
COMMUNICATIONS=Communications
GAMES=Jeux
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Capture d'écran
SCREENSHOT_DESC=Faire une capture d'écran
; Hebrew
[Strings.040D]
ACCESSORIES=עזרים
SYSTOOLS=כלי מערכת
ACCESSIBILITY=נגישות
ENTERTAINMENT=בידור
COMMUNICATIONS=Communications
GAMES=משחקים
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=צילום מסך
; Hungarian
[Strings.040E]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Játékok
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Indonesian
[Strings.0421]
ACCESSORIES=Aksesoris
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Ambil foto layar
; Italian
[Strings.0410]
ACCESSORIES=Accessori
SYSTOOLS=Strumenti di sistema
ACCESSIBILITY=Accessibilità
ENTERTAINMENT=Divertimento
COMMUNICATIONS=Comunicazioni
GAMES=Giochi
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Salva una schermata
; Japanese
[Strings.0411]
ACCESSORIES=アクセサリ
SYSTOOLS=システムツール
ACCESSIBILITY=アクセシビリティ
ENTERTAINMENT=エンターテイメント
COMMUNICATIONS=Communications
GAMES=ゲーム
FONTSUB_TITLE=FontSub
FONTSUB_DESC=フォント代替エディタ
SCREENSHOT_TITLE=スナップショット
SCREENSHOT_DESC=スクリーンショットを撮ります
; Dutch
[Strings.0413]
ACCESSORIES=Accessories
SYSTOOLS=System Tools
ACCESSIBILITY=Accessibility
ENTERTAINMENT=Entertainment
COMMUNICATIONS=Communications
GAMES=Games
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Take screenshot
; Norwegian
[Strings.0414]
ACCESSORIES=Tilbehør
SYSTOOLS=Systemverktøy
ACCESSIBILITY=Tilgjengelighet
ENTERTAINMENT=Underholdning
COMMUNICATIONS=Communications
GAMES=Spill
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Ta skjermbilde
; Polish
[Strings.0415]
ACCESSORIES=Akcesoria
SYSTOOLS=Narzędzia systemowe
ACCESSIBILITY=Ułatwienia dostępu
ENTERTAINMENT=Rozrywka
COMMUNICATIONS=Komunikacja
GAMES=Gry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Zrzut ekranu
SCREENSHOT_DESC=Zrób zrzut ekranu
; Portuguese - Brazil
[Strings.0416]
ACCESSORIES=Acessórios
SYSTOOLS=Ferramentas de Sistema
ACCESSIBILITY=Acessibilidade
ENTERTAINMENT=Entretenimento
COMMUNICATIONS=Communications
GAMES=Jogos
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=SnapShot
SCREENSHOT_DESC=Capturar Tela
; Romanian
[Strings.0418]
ACCESSORIES=Accesorii
SYSTOOLS=Instrumente de sistem
ACCESSIBILITY=Accesibilitate
ENTERTAINMENT=Divertisment
COMMUNICATIONS=Communicații
GAMES=Jocuri
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Captură de ecran
SCREENSHOT_DESC=Program pentru executarea de capturi de ecran.
; Russian
[Strings.0419]
ACCESSORIES=Стандартные
SYSTOOLS=Служебные
ACCESSIBILITY=Специальные возможности
ENTERTAINMENT=Развлечения
COMMUNICATIONS=Связь
GAMES=Игры
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Скриншот
SCREENSHOT_DESC=Сделать снимок экрана
; Slovak
[Strings.041B]
ACCESSORIES=Príslušenstvo
SYSTOOLS=Systémové nástroje
ACCESSIBILITY=Zjednodušenie ovládania
ENTERTAINMENT=Zábava
COMMUNICATIONS=Communications
GAMES=Hry
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Momentka //SnapShot
SCREENSHOT_DESC=Uložiť obrazovku
; Turkish
[Strings.041f]
ACCESSORIES=Donatılar
SYSTOOLS=Dizge Araçları
ACCESSIBILITY=Erişilebilirlik
ENTERTAINMENT=Eğlence
COMMUNICATIONS=İletişim
GAMES=Oyunlar
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Ekran Görüntüsü
SCREENSHOT_DESC=Ekran görüntüsü al
; Ukrainian
[Strings.0422]
ACCESSORIES=Допоміжні програми
SYSTOOLS=Службові
ACCESSIBILITY=Спеціальні можливості
ENTERTAINMENT=Розваги
COMMUNICATIONS=Communications
GAMES=Ігри
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=Знімок екрану
SCREENSHOT_DESC=Зробити знімок екрана
; Chinese
[Strings.0804]
ACCESSORIES=附件
SYSTOOLS=系统工具
ACCESSIBILITY=辅助功能
ENTERTAINMENT=娱乐
COMMUNICATIONS=通信
GAMES=游戏
FONTSUB_TITLE=FontSub
FONTSUB_DESC=Font Substitutes Editor
SCREENSHOT_TITLE=屏幕截图
SCREENSHOT_DESC=屏幕截图

View File

@@ -1,86 +1,86 @@
Test files:
atl_apitest: CImage class from reactos
CImage.exe : CImage class from microsoft
================================================================================================================
Windows Server 2003 SP2:
================================================================================================================
>atl_apitest.exe CImage
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(234): Test failed: Expected bpp to be 8, was: 32
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 0)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 1)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 2)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(260): Test failed: Expected bpp to be 24, was: 32 (for 3)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage: 79 tests executed (0 marked as todo, 6 failures), 0 skipped.
================================================================================================================
>CImage.exe
CImage: 79 tests executed (0 marked as todo, 0 failures), 0 skipped.
================================================================================================================
================================================================================================================
Windows 10:
================================================================================================================
>atl_apitest.exe CImage
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(234): Test failed: Expected bpp to be 8, was: 32
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 0)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 1)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 2)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(260): Test failed: Expected bpp to be 24, was: 32 (for 3)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage: 79 tests executed (0 marked as todo, 6 failures), 0 skipped.
================================================================================================================
>CImage.exe
CImage: 79 tests executed (0 marked as todo, 0 failures), 0 skipped.
================================================================================================================
================================================================================================================
ReactOS:
================================================================================================================
>atl_apitest.exe CImage
CImage.cpp:234: Test failed: Expected bpp to be 8, was: 32
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 32 (for 0)
CImage.cpp:245: Test failed: Expected hr to be S_OK, was: 80004005 (for 1)
CImage.cpp:251: Test failed: Expected hr to be S_OK, was: 80004005 (for 1)
CImage.cpp:254: Test failed: Expected width to be 48, was: 0 (for 1)
CImage.cpp:256: Test failed: Expected height to be 48, was: 0 (for 1)
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 0 (for 1)
CImage.cpp:148: Test failed: Expected status to be 0, was: 1
CImage.cpp:149: Test failed: Expected a valid bitmap
CImage.cpp:245: Test failed: Expected hr to be S_OK, was: 80004005 (for 2)
CImage.cpp:251: Test failed: Expected hr to be S_OK, was: 80004005 (for 2)
CImage.cpp:254: Test failed: Expected width to be 48, was: 0 (for 2)
CImage.cpp:256: Test failed: Expected height to be 48, was: 0 (for 2)
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 0 (for 2)
CImage.cpp:148: Test failed: Expected status to be 0, was: 1
CImage.cpp:149: Test failed: Expected a valid bitmap
CImage.cpp:260: Test failed: Expected bpp to be 24, was: 32 (for 3)
CImage.cpp:154: Test failed: Expected PixelFormat to be 0x21808, was: 0x30803
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage.cpp:154: Test failed: Expected PixelFormat to be 0x30803, was: 0x21808
CImage: 77 tests executed (0 marked as todo, 20 failures), 0 skipped.
================================================================================================================
>CImage.exe
../CImage.cpp (245): Expected hr to be S_OK, was: 80004005 (for 1)
../CImage.cpp (251): Expected hr to be S_OK, was: 80004005 (for 1)
../CImage.cpp (254): Expected width to be 48, was: 0 (for 1)
../CImage.cpp (256): Expected height to be 48, was: 0 (for 1)
../CImage.cpp (265): Expected bpp to be 8, was: 0 (for 1)
../CImage.cpp (148): Expected status to be 0, was: 1
../CImage.cpp (149): Expected a valid bitmap
../CImage.cpp (245): Expected hr to be S_OK, was: 80004005 (for 2)
../CImage.cpp (251): Expected hr to be S_OK, was: 80004005 (for 2)
../CImage.cpp (254): Expected width to be 48, was: 0 (for 2)
../CImage.cpp (256): Expected height to be 48, was: 0 (for 2)
../CImage.cpp (265): Expected bpp to be 8, was: 0 (for 2)
../CImage.cpp (148): Expected status to be 0, was: 1
../CImage.cpp (149): Expected a valid bitmap
../CImage.cpp (260): Expected bpp to be 24, was: 8 (for 3)
../CImage.cpp (154): Expected PixelFormat to be 0x21808, was: 0x30803
../CImage.cpp (265): Expected bpp to be 8, was: 24 (for 4)
../CImage.cpp (154): Expected PixelFormat to be 0x30803, was: 0x21808
CImage: 77 tests executed (0 marked as todo, 18 failures), 0 skipped.
================================================================================================================
Test files:
atl_apitest: CImage class from reactos
CImage.exe : CImage class from microsoft
================================================================================================================
Windows Server 2003 SP2:
================================================================================================================
>atl_apitest.exe CImage
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(234): Test failed: Expected bpp to be 8, was: 32
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 0)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 1)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 2)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(260): Test failed: Expected bpp to be 24, was: 32 (for 3)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage: 79 tests executed (0 marked as todo, 6 failures), 0 skipped.
================================================================================================================
>CImage.exe
CImage: 79 tests executed (0 marked as todo, 0 failures), 0 skipped.
================================================================================================================
================================================================================================================
Windows 10:
================================================================================================================
>atl_apitest.exe CImage
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(234): Test failed: Expected bpp to be 8, was: 32
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 0)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 1)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 2)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(260): Test failed: Expected bpp to be 24, was: 32 (for 3)
R:\src\trunk\reactos\modules\rostests\apitests\atl\CImage.cpp(265): Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage: 79 tests executed (0 marked as todo, 6 failures), 0 skipped.
================================================================================================================
>CImage.exe
CImage: 79 tests executed (0 marked as todo, 0 failures), 0 skipped.
================================================================================================================
================================================================================================================
ReactOS:
================================================================================================================
>atl_apitest.exe CImage
CImage.cpp:234: Test failed: Expected bpp to be 8, was: 32
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 32 (for 0)
CImage.cpp:245: Test failed: Expected hr to be S_OK, was: 80004005 (for 1)
CImage.cpp:251: Test failed: Expected hr to be S_OK, was: 80004005 (for 1)
CImage.cpp:254: Test failed: Expected width to be 48, was: 0 (for 1)
CImage.cpp:256: Test failed: Expected height to be 48, was: 0 (for 1)
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 0 (for 1)
CImage.cpp:148: Test failed: Expected status to be 0, was: 1
CImage.cpp:149: Test failed: Expected a valid bitmap
CImage.cpp:245: Test failed: Expected hr to be S_OK, was: 80004005 (for 2)
CImage.cpp:251: Test failed: Expected hr to be S_OK, was: 80004005 (for 2)
CImage.cpp:254: Test failed: Expected width to be 48, was: 0 (for 2)
CImage.cpp:256: Test failed: Expected height to be 48, was: 0 (for 2)
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 0 (for 2)
CImage.cpp:148: Test failed: Expected status to be 0, was: 1
CImage.cpp:149: Test failed: Expected a valid bitmap
CImage.cpp:260: Test failed: Expected bpp to be 24, was: 32 (for 3)
CImage.cpp:154: Test failed: Expected PixelFormat to be 0x21808, was: 0x30803
CImage.cpp:265: Test failed: Expected bpp to be 8, was: 32 (for 4)
CImage.cpp:154: Test failed: Expected PixelFormat to be 0x30803, was: 0x21808
CImage: 77 tests executed (0 marked as todo, 20 failures), 0 skipped.
================================================================================================================
>CImage.exe
../CImage.cpp (245): Expected hr to be S_OK, was: 80004005 (for 1)
../CImage.cpp (251): Expected hr to be S_OK, was: 80004005 (for 1)
../CImage.cpp (254): Expected width to be 48, was: 0 (for 1)
../CImage.cpp (256): Expected height to be 48, was: 0 (for 1)
../CImage.cpp (265): Expected bpp to be 8, was: 0 (for 1)
../CImage.cpp (148): Expected status to be 0, was: 1
../CImage.cpp (149): Expected a valid bitmap
../CImage.cpp (245): Expected hr to be S_OK, was: 80004005 (for 2)
../CImage.cpp (251): Expected hr to be S_OK, was: 80004005 (for 2)
../CImage.cpp (254): Expected width to be 48, was: 0 (for 2)
../CImage.cpp (256): Expected height to be 48, was: 0 (for 2)
../CImage.cpp (265): Expected bpp to be 8, was: 0 (for 2)
../CImage.cpp (148): Expected status to be 0, was: 1
../CImage.cpp (149): Expected a valid bitmap
../CImage.cpp (260): Expected bpp to be 24, was: 8 (for 3)
../CImage.cpp (154): Expected PixelFormat to be 0x21808, was: 0x30803
../CImage.cpp (265): Expected bpp to be 8, was: 24 (for 4)
../CImage.cpp (154): Expected PixelFormat to be 0x30803, was: 0x21808
CImage: 77 tests executed (0 marked as todo, 18 failures), 0 skipped.
================================================================================================================

View File

@@ -1,58 +1,58 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CImage", "CImage.vcxproj", "{AE520E17-2DAE-40FF-B082-F32A7A935FB2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CSimpleArray", "CSimpleArray.vcxproj", "{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CSimpleMap", "CSimpleMap.vcxproj", "{EC560DE6-6DB3-437D-85CA-582491FE6F95}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CString", "CString.vcxproj", "{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x64.ActiveCfg = Debug|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x64.Build.0 = Debug|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x86.ActiveCfg = Debug|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x86.Build.0 = Debug|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x64.ActiveCfg = Release|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x64.Build.0 = Release|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x86.ActiveCfg = Release|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x86.Build.0 = Release|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x64.ActiveCfg = Debug|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x64.Build.0 = Debug|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x86.ActiveCfg = Debug|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x86.Build.0 = Debug|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x64.ActiveCfg = Release|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x64.Build.0 = Release|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x86.ActiveCfg = Release|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x86.Build.0 = Release|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x64.ActiveCfg = Debug|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x64.Build.0 = Debug|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x86.ActiveCfg = Debug|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x86.Build.0 = Debug|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x64.ActiveCfg = Release|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x64.Build.0 = Release|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x86.ActiveCfg = Release|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x86.Build.0 = Release|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x64.ActiveCfg = Debug|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x64.Build.0 = Debug|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x86.ActiveCfg = Debug|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x86.Build.0 = Debug|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x64.ActiveCfg = Release|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x64.Build.0 = Release|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x86.ActiveCfg = Release|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CImage", "CImage.vcxproj", "{AE520E17-2DAE-40FF-B082-F32A7A935FB2}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CSimpleArray", "CSimpleArray.vcxproj", "{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CSimpleMap", "CSimpleMap.vcxproj", "{EC560DE6-6DB3-437D-85CA-582491FE6F95}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CString", "CString.vcxproj", "{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x64.ActiveCfg = Debug|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x64.Build.0 = Debug|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x86.ActiveCfg = Debug|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Debug|x86.Build.0 = Debug|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x64.ActiveCfg = Release|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x64.Build.0 = Release|x64
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x86.ActiveCfg = Release|Win32
{AE520E17-2DAE-40FF-B082-F32A7A935FB2}.Release|x86.Build.0 = Release|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x64.ActiveCfg = Debug|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x64.Build.0 = Debug|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x86.ActiveCfg = Debug|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Debug|x86.Build.0 = Debug|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x64.ActiveCfg = Release|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x64.Build.0 = Release|x64
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x86.ActiveCfg = Release|Win32
{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}.Release|x86.Build.0 = Release|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x64.ActiveCfg = Debug|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x64.Build.0 = Debug|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x86.ActiveCfg = Debug|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Debug|x86.Build.0 = Debug|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x64.ActiveCfg = Release|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x64.Build.0 = Release|x64
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x86.ActiveCfg = Release|Win32
{EC560DE6-6DB3-437D-85CA-582491FE6F95}.Release|x86.Build.0 = Release|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x64.ActiveCfg = Debug|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x64.Build.0 = Debug|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x86.ActiveCfg = Debug|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Debug|x86.Build.0 = Debug|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x64.ActiveCfg = Release|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x64.Build.0 = Release|x64
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x86.ActiveCfg = Release|Win32
{FBA6DAE7-7996-4DE1-BD03-9E44F7DB4ABD}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -1,183 +1,183 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AE520E17-2DAE-40FF-B082-F32A7A935FB2}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>AtlProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="../CImage.cpp">
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MultiThreadedDebug</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="../atl_apitest.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AE520E17-2DAE-40FF-B082-F32A7A935FB2}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>AtlProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="../CImage.cpp">
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MultiThreadedDebug</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="../atl_apitest.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,180 +1,180 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>AtlProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="../CSimpleArray.cpp">
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MultiThreadedDebug</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{9F029341-87C2-4BFD-B1FC-D5F5B8D28D55}</ProjectGuid>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
<Keyword>AtlProj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120_xp</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<IgnoreImportLibrary>true</IgnoreImportLibrary>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<ResourceCompile>
<Culture>0x0409</Culture>
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<RegisterOutput>true</RegisterOutput>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="../CSimpleArray.cpp">
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MultiThreaded</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MultiThreadedDebug</RuntimeLibrary>
<RuntimeLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Some files were not shown because too many files have changed in this diff Show More