* PageEx - every page can be used everywhere and as many times as needed
* DirVar - easy way to add another dir page * default strings in the language file (Page directory is enough, no need for DirText) * strings from the language file are now LangStrings that can be used in the script * no more /LANG - one string for all languages * any lang strings can be used everywhere, installer or uninstaller (no un.) * no more unprocessed strings - variables can be used almost everywhere (except in licenseData and InstallDirRegKey) * DirText parm for browse dialog text * SetBkColor -> SetCtlColors - can now set text color too * fixed SetOutPath and File /r bug * fixed File /a /oname bug * added $_CLICK for pages * added quotes support in lang files (patch #752620) * extraction progress * separate RTL dialogs for RTL langs (improved RTL too) * InstallOptions RTL * StartMenu RTL * fixed RegDLL? * added IfSilent and SetSilent (SetSilent only works from .onInit) * fixed verify window (it never showed) (bug #792494) * fixed ifnewer readonly file problem (patch #783782) * fixed wininit.ini manipulation when there is another section after [rename] * fixed some ClearType issues * fixed a minor bug in the resource editor * fixed !ifdef/!endif stuff, rewritten * lots of code and comments clean ups * got rid of some useless exceptions handling and STL classes (still much more to go) * lots of optimizations, of course ;) * updated system.dll with support for GUID, WCHAR, and fast VTable calling (i.e. COM ready) * minor bug fixes git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2823 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
bb8879b7ae
commit
74ea2dc585
91 changed files with 5180 additions and 4101 deletions
|
@ -29,6 +29,17 @@ static int popstring(char *str)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#define CC_TEXT 1
|
||||
#define CC_BK 4
|
||||
|
||||
typedef struct {
|
||||
COLORREF text;
|
||||
LOGBRUSH bk;
|
||||
HBRUSH bkb;
|
||||
int bkmode;
|
||||
int flags;
|
||||
} ctlcolors;
|
||||
|
||||
#define strcpy(x,y) lstrcpy(x,y)
|
||||
#define strncpy(x,y,z) lstrcpyn(x,y,z)
|
||||
#define strdup(x) STRDUP(x)
|
||||
|
@ -164,6 +175,8 @@ int bBackEnabled = FALSE;
|
|||
int bCancelEnabled = FALSE; // by ORTIM: 13-August-2002
|
||||
int bCancelShow = FALSE; // by ORTIM: 13-August-2002
|
||||
|
||||
int bRTL = FALSE;
|
||||
|
||||
FieldType *pFields = NULL;
|
||||
#define DEFAULT_RECT 1018
|
||||
int nRectId = 0;
|
||||
|
@ -468,6 +481,8 @@ int ReadSettings(void) {
|
|||
bCancelEnabled = GetPrivateProfileInt("Settings", "CancelEnabled", 0xFFFF0000, pszFilename);
|
||||
bCancelShow = GetPrivateProfileInt("Settings", "CancelShow", 0xFFFF0000, pszFilename);
|
||||
|
||||
bRTL = GetPrivateProfileInt("Settings", "RTL", 0, pszFilename);
|
||||
|
||||
if (nNumFields > 0) {
|
||||
// make this twice as large for the worst case that every control is a browse button.
|
||||
// the structure is small enough that this won't waste much memory.
|
||||
|
@ -621,21 +636,21 @@ int ReadSettings(void) {
|
|||
pFields[nIdx].hImage = (HANDLE)GetPrivateProfileInt(szField, "TxtColor", RGB(0,0,255), pszFilename);
|
||||
|
||||
pFields[nIdx].nControlID = 1200 + nIdx;
|
||||
if ( pFields[nIdx].nType == FIELD_FILEREQUEST || pFields[nIdx].nType == FIELD_DIRREQUEST )
|
||||
if (pFields[nIdx].nType == FIELD_FILEREQUEST || pFields[nIdx].nType == FIELD_DIRREQUEST)
|
||||
{
|
||||
FieldType *pNewField = &pFields[nIdx+1];
|
||||
pNewField->nControlID = 1200 + nIdx + 1;
|
||||
pNewField->nParentIdx = nIdx;
|
||||
pNewField->nType = FIELD_BROWSEBUTTON;
|
||||
pNewField->nFlags = pFields[nIdx].nFlags & (FLAG_DISABLED | FLAG_NOTABSTOP);
|
||||
pNewField->pszText = STRDUP(szBrowseButtonCaption); // needed for generic FREE
|
||||
pNewField->rect.right = pFields[nIdx].rect.right;
|
||||
pNewField->rect.left = pNewField->rect.right - BROWSE_WIDTH;
|
||||
pNewField->rect.bottom = pFields[nIdx].rect.bottom;
|
||||
pNewField->rect.top = pFields[nIdx].rect.top;
|
||||
pFields[nIdx].rect.right = pNewField->rect.left - 3;
|
||||
nNumFields++;
|
||||
nIdx++;
|
||||
FieldType *pNewField = &pFields[nIdx+1];
|
||||
pNewField->nControlID = 1200 + nIdx + 1;
|
||||
pNewField->nParentIdx = nIdx;
|
||||
pNewField->nType = FIELD_BROWSEBUTTON;
|
||||
pNewField->nFlags = pFields[nIdx].nFlags & (FLAG_DISABLED | FLAG_NOTABSTOP);
|
||||
pNewField->pszText = STRDUP(szBrowseButtonCaption); // needed for generic FREE
|
||||
pNewField->rect.right = pFields[nIdx].rect.right;
|
||||
pNewField->rect.left = pNewField->rect.right - BROWSE_WIDTH;
|
||||
pNewField->rect.bottom = pFields[nIdx].rect.bottom;
|
||||
pNewField->rect.top = pFields[nIdx].rect.top;
|
||||
pFields[nIdx].rect.right = pNewField->rect.left - 3;
|
||||
nNumFields++;
|
||||
nIdx++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -753,11 +768,16 @@ BOOL CALLBACK cfgDlgProc(HWND hwndDlg,
|
|||
case WM_CTLCOLORBTN:
|
||||
case WM_CTLCOLORLISTBOX:
|
||||
{
|
||||
BOOL brush = (BOOL)GetWindowLong((HWND)lParam, GWL_USERDATA);
|
||||
if (brush)
|
||||
{
|
||||
SetBkMode((HDC)wParam, TRANSPARENT);
|
||||
return brush;
|
||||
ctlcolors *c = (ctlcolors *)GetWindowLong((HWND)lParam, GWL_USERDATA);
|
||||
|
||||
if (c) {
|
||||
SetBkMode((HDC)wParam, c->bkmode);
|
||||
if (c->flags & CC_BK)
|
||||
SetBkColor((HDC)wParam, c->bk.lbColor);
|
||||
if (c->flags & CC_TEXT)
|
||||
SetTextColor((HDC)wParam, c->text);
|
||||
|
||||
return (BOOL)c->bkb;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -861,13 +881,23 @@ int createCfgDlg()
|
|||
HFONT hFont = (HFONT)SendMessage(hMainWindow, WM_GETFONT, 0, 0);
|
||||
|
||||
RECT dialog_r;
|
||||
int width;
|
||||
hConfigWindow=CreateDialog(m_hInstance,MAKEINTRESOURCE(IDD_DIALOG1),hMainWindow,cfgDlgProc);
|
||||
if (hConfigWindow)
|
||||
{
|
||||
GetWindowRect(childwnd,&dialog_r);
|
||||
ScreenToClient(hMainWindow,(LPPOINT)&dialog_r);
|
||||
ScreenToClient(hMainWindow,((LPPOINT)&dialog_r)+1);
|
||||
SetWindowPos(hConfigWindow,0,dialog_r.left,dialog_r.top,dialog_r.right-dialog_r.left,dialog_r.bottom-dialog_r.top,SWP_NOZORDER|SWP_NOACTIVATE);
|
||||
width = dialog_r.right-dialog_r.left;
|
||||
SetWindowPos(
|
||||
hConfigWindow,
|
||||
0,
|
||||
dialog_r.left,
|
||||
dialog_r.top,
|
||||
width,
|
||||
dialog_r.bottom-dialog_r.top,
|
||||
SWP_NOZORDER|SWP_NOACTIVATE
|
||||
);
|
||||
// Sets the font of IO window to be the same as the main window
|
||||
SendMessage(hConfigWindow, WM_SETFONT, (WPARAM)hFont, TRUE);
|
||||
}
|
||||
|
@ -899,47 +929,75 @@ int createCfgDlg()
|
|||
static struct {
|
||||
char* pszClass;
|
||||
DWORD dwStyle;
|
||||
DWORD dwRTLStyle;
|
||||
DWORD dwExStyle;
|
||||
DWORD dwRTLExStyle;
|
||||
} ClassTable[] = {
|
||||
{ "STATIC", // FIELD_LABEL
|
||||
DEFAULT_STYLES /*| WS_TABSTOP*/,
|
||||
DEFAULT_STYLES | SS_RIGHT /*| WS_TABSTOP*/,
|
||||
WS_EX_TRANSPARENT,
|
||||
WS_EX_TRANSPARENT },
|
||||
{ "STATIC", // FIELD_ICON
|
||||
DEFAULT_STYLES /*| WS_TABSTOP*/ | SS_ICON,
|
||||
DEFAULT_STYLES /*| WS_TABSTOP*/ | SS_ICON,
|
||||
0,
|
||||
0 },
|
||||
{ "STATIC", // FIELD_BITMAP
|
||||
DEFAULT_STYLES /*| WS_TABSTOP*/ | SS_BITMAP | SS_CENTERIMAGE,
|
||||
DEFAULT_STYLES /*| WS_TABSTOP*/ | SS_BITMAP | SS_CENTERIMAGE,
|
||||
0,
|
||||
0 },
|
||||
{ "BUTTON", // FIELD_BROWSEBUTTON
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
DEFAULT_STYLES | WS_TABSTOP,
|
||||
0,
|
||||
0 },
|
||||
{ "BUTTON", // FIELD_CHECKBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTOCHECKBOX | BS_MULTILINE,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTOCHECKBOX | BS_MULTILINE | BS_RIGHT | BS_LEFTTEXT,
|
||||
0,
|
||||
0 },
|
||||
{ "BUTTON", // FIELD_RADIOBUTTON
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTORADIOBUTTON | BS_MULTILINE,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_TEXT | BS_VCENTER | BS_AUTORADIOBUTTON | BS_MULTILINE | BS_RIGHT | BS_LEFTTEXT,
|
||||
0,
|
||||
0 },
|
||||
{ "EDIT", // FIELD_TEXT
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE },
|
||||
{ "EDIT", // FIELD_FILEREQUEST
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE },
|
||||
{ "EDIT", // FIELD_DIRREQUEST
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL,
|
||||
DEFAULT_STYLES | WS_TABSTOP | ES_AUTOHSCROLL | ES_RIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE },
|
||||
{ "COMBOBOX", // FIELD_COMBOBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | WS_CLIPCHILDREN | CBS_AUTOHSCROLL | CBS_HASSTRINGS,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE },
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | WS_CLIPCHILDREN | CBS_AUTOHSCROLL | CBS_HASSTRINGS,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | WS_EX_RTLREADING },
|
||||
{ "LISTBOX", // FIELD_LISTBOX
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE },
|
||||
DEFAULT_STYLES | WS_TABSTOP | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE,
|
||||
WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE | WS_EX_RIGHT | WS_EX_RTLREADING },
|
||||
{ "BUTTON", // FIELD_GROUPBOX
|
||||
DEFAULT_STYLES | BS_GROUPBOX,
|
||||
DEFAULT_STYLES | BS_GROUPBOX | BS_RIGHT,
|
||||
WS_EX_TRANSPARENT,
|
||||
WS_EX_TRANSPARENT },
|
||||
{ "BUTTON", // FIELD_LINK
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_OWNERDRAW
|
||||
},
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_OWNERDRAW,
|
||||
DEFAULT_STYLES | WS_TABSTOP | BS_OWNERDRAW | BS_RIGHT,
|
||||
0,
|
||||
0 },
|
||||
};
|
||||
|
||||
int nType = pFields[nIdx].nType;
|
||||
|
@ -949,8 +1007,15 @@ int createCfgDlg()
|
|||
if (nType < 1 || nType > (sizeof(ClassTable) / sizeof(ClassTable[0])))
|
||||
continue;
|
||||
|
||||
DWORD dwStyle = ClassTable[pFields[nIdx].nType - 1].dwStyle;
|
||||
DWORD dwExStyle = ClassTable[pFields[nIdx].nType - 1].dwExStyle;
|
||||
DWORD dwStyle, dwExStyle;
|
||||
if (bRTL) {
|
||||
dwStyle = ClassTable[pFields[nIdx].nType - 1].dwRTLStyle;
|
||||
dwExStyle = ClassTable[pFields[nIdx].nType - 1].dwRTLExStyle;
|
||||
}
|
||||
else {
|
||||
dwStyle = ClassTable[pFields[nIdx].nType - 1].dwStyle;
|
||||
dwExStyle = ClassTable[pFields[nIdx].nType - 1].dwExStyle;
|
||||
}
|
||||
|
||||
// Convert from dialog units
|
||||
|
||||
|
@ -970,6 +1035,12 @@ int createCfgDlg()
|
|||
if (pFields[nIdx].rect.bottom < 0)
|
||||
rect.bottom += dialog_r.bottom - dialog_r.top;
|
||||
|
||||
if (bRTL) {
|
||||
int right = rect.right;
|
||||
rect.right = width - rect.left;
|
||||
rect.left = width - right;
|
||||
}
|
||||
|
||||
char *title = pFields[nIdx].pszText;
|
||||
switch (nType) {
|
||||
case FIELD_CHECKBOX:
|
||||
|
|
|
@ -195,11 +195,16 @@ It can contain the following values:</p>
|
|||
<td class="lefttable"><span class="italic">(optional)</span></td>
|
||||
<td class="righttable">Overrides the text for the back button. If not specified, the back button text
|
||||
will not be changed.</td></tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td class="lefttable"><span class="bold">Rect</span></td>
|
||||
<td class="lefttable"><span class="italic">(optional)</span></td>
|
||||
<td class="righttable">Overrides the default rect ID to run over. This will make IO resize itself
|
||||
according to a different rect than NSIS's dialogs rect.</td></tr>
|
||||
<tr>
|
||||
<td class="lefttable"><span class="bold">RTL</span></td>
|
||||
<td class="lefttable"><span class="italic">(optional)</span></td>
|
||||
<td class="righttable">If 1 is specified the dialog will be mirrored and all texts will be aligned to the
|
||||
right. Use NSIS's $(^RTL) to fill this field, it's the easiest way.</td></tr>
|
||||
</table>
|
||||
<p class="text">Each field section has the heading "Field #" where # must be sequential
|
||||
numbers from 1 to NumFields. Each Field section can contain the following values:</p>
|
||||
|
@ -612,12 +617,13 @@ FunctionEnd
|
|||
</pre>
|
||||
<p class="header">Version history</p>
|
||||
<ul>
|
||||
<li>DLL version 2.2 (6/10/2003)
|
||||
<li>DLL version 2.2 (4/9/2003)
|
||||
<ul>
|
||||
<li>Added new control "link"</li>
|
||||
<li>\r\n converts to newline in Multiline edit box</li>
|
||||
<li>Support for multiline edit box</li>
|
||||
<li>Better tab order in DirRequest and FileRequest</li>
|
||||
<li>Added RTL support</li>
|
||||
<li>Minor fixes</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v2
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
RTL
|
||||
# Translation by asdfuae@msn.com
|
||||
نظام التنصيب نلسوفت %s
|
||||
تنصيب %s
|
||||
مزيل %s
|
||||
ÊäÕíÈ $(^Name)
|
||||
ãÒíá $(^Name)
|
||||
: اتفاقية الترخيص
|
||||
: خيارات التنصيب
|
||||
: مجلد التنصيب
|
||||
|
@ -34,7 +36,7 @@ NLF v2
|
|||
أختر نوع التنصيب:
|
||||
أختر العناصر للتنصيب:
|
||||
أو، أختر العناصر المحددة المراد تنصيبها:
|
||||
أختر المجلد المراد تنصيب %s فيه:
|
||||
ÃÎÊÑ ÇáãÌáÏ ÇáãÑÇÏ ÊäÕíÈ $(^Name) Ýíå:
|
||||
المساحة المتاحة:
|
||||
المساحة المطلوبة:
|
||||
يزال من:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v2
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Asparouh Kalyandjiev <acnapyx@computers.bg>
|
||||
Nullsoft инсталатор %s
|
||||
%s Инсталиране
|
||||
%s Деинсталиране
|
||||
$(^Name) Èíñòàëèðàíå
|
||||
$(^Name) Äåèíñòàëèðàíå
|
||||
: Лицензно споразумение
|
||||
: Инсталационни опции
|
||||
: Инсталационна папка
|
||||
|
@ -34,7 +36,7 @@ Nullsoft
|
|||
Изберете типа инсталация:
|
||||
Изберете компонентите за инсталиране:
|
||||
Или изберете компонентите, които желаете да бъдат инсталирани:
|
||||
Изберете папка, където да се инсталира %s:
|
||||
Èçáåðåòå ïàïêà, êúäåòî äà ñå èíñòàëèðà $(^Name):
|
||||
Свободно място:
|
||||
Нужно място:
|
||||
Деинсталиране от:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by falanko
|
||||
Nullsoft Install System %s
|
||||
Instal·lació de %s
|
||||
Desinstal·lació de %s
|
||||
Instal·lació de $(^Name)
|
||||
Desinstal·lació de $(^Name)
|
||||
: Acord de Llicència
|
||||
: Opcions d'Instal·lació
|
||||
: Carpeta d'Instal·lació
|
||||
|
@ -37,7 +39,7 @@ Personalitzada
|
|||
Indiqui el tipus d'instal·lació:
|
||||
Seleccioni els components:
|
||||
O seleccioni els components opcionals a instal·lar:
|
||||
Seleccioni la carpeta on instal·lar %s:
|
||||
Seleccioni la carpeta on instal·lar $(^Name):
|
||||
Espai lliure:
|
||||
Espai necessari:
|
||||
Desinstal·lant de:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Igor Ostriz
|
||||
Nullsoft Install System %s
|
||||
%s Instalacija
|
||||
%s Deinstalacija
|
||||
$(^Name) Instalacija
|
||||
$(^Name) Deinstalacija
|
||||
: Licenenèni uvjeti
|
||||
: Instalacijske opcije
|
||||
: Instalacijska mapa
|
||||
|
@ -36,7 +38,7 @@ Posebna
|
|||
Izaberite tip instalacije:
|
||||
Odaberite komponente za instalaciju:
|
||||
Ili po izboru oznaèite komponente koje želite instalirati:
|
||||
Odaberite mapu u koju želite instalirati program %s:
|
||||
Odaberite mapu u koju želite instalirati program $(^Name):
|
||||
Slobodno prostora na disku:
|
||||
Potrebno prostora na disku:
|
||||
Uklanjam iz:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by T.V. Zuggy (http://zuggy.wz.cz/)
|
||||
Nullsoft Install System %s
|
||||
Instalace programu %s
|
||||
Odinstalování programu %s
|
||||
Instalace programu $(^Name)
|
||||
Odinstalování programu $(^Name)
|
||||
: Licenční ujednání
|
||||
: Možnosti instalace
|
||||
: Umístění instalace
|
||||
|
@ -36,7 +38,7 @@ Vlastn
|
|||
Zvolte typ instalace:
|
||||
Zvolte součásti pro instalaci:
|
||||
Nebo zvolte jednotlivé součásti, které si přejete nainstalovat:
|
||||
Zvolte adresář pro instalaci programu %s:
|
||||
Zvolte adresář pro instalaci programu $(^Name):
|
||||
Dostupné volné místo:
|
||||
Potřebné volné místo:
|
||||
Odinstalování z:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v2
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Casper Bergenstoff
|
||||
Nullsoft Installerings System %s
|
||||
%s Setup
|
||||
%s Afinstaller
|
||||
$(^Name) Setup
|
||||
$(^Name) Afinstaller
|
||||
: Licens Aftale
|
||||
: Installations egenskaber
|
||||
: Installation mappe
|
||||
|
@ -34,7 +36,7 @@ Tilpasset
|
|||
Vælg hvilken type du vil installere:
|
||||
Vælg komponenter du vil installere:
|
||||
Eller, Vælg de udvalgte komponenter som du vil installere:
|
||||
Vælg mappe du vil installere %s i:
|
||||
Vælg mappe du vil installere $(^Name) i:
|
||||
Plads til rådighed:
|
||||
Krævet plads:
|
||||
Afinstallerer fra:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Hendri Adriaens & Joost Verburg
|
||||
Nullsoft Install System %s
|
||||
%s Installatie
|
||||
%s Deïnstallatie
|
||||
$(^Name) Installatie
|
||||
$(^Name) Deïnstallatie
|
||||
: Licentie Overeenkomst
|
||||
: Installatie Opties
|
||||
: Installatie Map
|
||||
|
@ -36,7 +38,7 @@ Handmatig
|
|||
Selecteer het installatietype:
|
||||
Selecteer de installatieonderdelen:
|
||||
Of selecteer de onderdelen die geïnstalleerd moeten worden:
|
||||
Selecteer de map om %s in te installeren:
|
||||
Selecteer de map om $(^Name) in te installeren:
|
||||
Beschikbare ruimte:
|
||||
Vereiste ruimte:
|
||||
Uninstallatie vanuit:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Header, don't edit
|
||||
NLF v5
|
||||
NLF v6
|
||||
# Start editing here
|
||||
# Language ID
|
||||
1033
|
||||
|
@ -7,76 +7,185 @@ NLF v5
|
|||
-
|
||||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
-
|
||||
# Translation by ..... (any credits should go here)
|
||||
# ^Branding
|
||||
Nullsoft Install System %s
|
||||
%s Setup
|
||||
%s Uninstall
|
||||
# ^SetupCaption
|
||||
$(^Name) Setup
|
||||
# ^UninstallCaption
|
||||
$(^Name) Uninstall
|
||||
# ^LicenseSubCaption
|
||||
: License Agreement
|
||||
# ^ComponentsSubCaption
|
||||
: Installation Options
|
||||
# ^DirSubCaption
|
||||
: Installation Folder
|
||||
# ^InstallingSubCaption
|
||||
: Installing
|
||||
# ^CompletedSubCaption
|
||||
: Completed
|
||||
# ^UnComponentsSubCaption
|
||||
: Uninstallation Options
|
||||
# ^UnDirSubCaption
|
||||
: Uninstallation Folder
|
||||
# ^ConfirmSubCaption
|
||||
: Confirmation
|
||||
# ^UninstallingSubCaption
|
||||
: Uninstalling
|
||||
# ^UnCompletedSubCaption
|
||||
: Completed
|
||||
# ^BackBtn
|
||||
< &Back
|
||||
# ^NextBtn
|
||||
&Next >
|
||||
# ^AgreeBtn
|
||||
I &Agree
|
||||
# ^AcceptBtn
|
||||
I &accept the terms in the License Agreement
|
||||
# ^DontAcceptBtn
|
||||
I &do not accept the terms in the License Agreement
|
||||
# ^InstallBtn
|
||||
&Install
|
||||
# ^UninstallBtn
|
||||
&Uninstall
|
||||
# ^CancelBtn
|
||||
Cancel
|
||||
# ^CloseBtn
|
||||
&Close
|
||||
# ^BrowseBtn
|
||||
B&rowse...
|
||||
# ^ShowDetailsBtn
|
||||
Show &details
|
||||
# ^ClickNext
|
||||
Click Next to continue.
|
||||
# ^ClickInstall
|
||||
Click Install to start the installation.
|
||||
# ^ClickUninstall
|
||||
Click Uninstall to start the uninstallation.
|
||||
# ^Name
|
||||
Name
|
||||
# ^Completed
|
||||
Completed
|
||||
# ^LicenseText
|
||||
Please review the license agreement before installing $(^Name). If you accept all terms of the agreement, click I Agree.
|
||||
# ^LicenseTextCB
|
||||
Please review the license agreement before installing $(^Name). If you accept all terms of the agreement, click the check box below. $_CLICK
|
||||
# ^LicesnseTextRB
|
||||
Please review the license agreement before installing $(^Name). If you accept all terms of the agreement, select the first option below. $_CLICK
|
||||
# ^UnLicenseText
|
||||
Please review the license agreement before uninstalling $(^Name). If you accept all terms of the agreement, click I Agree.
|
||||
# ^UnLicenseTextCB
|
||||
Please review the license agreement before uninstalling $(^Name). If you accept all terms of the agreement, click the check box below. $_CLICK
|
||||
# ^UnLicesnseTextRB
|
||||
Please review the license agreement before uninstalling $(^Name). If you accept all terms of the agreement, select the first option below. $_CLICK
|
||||
# ^Custom
|
||||
Custom
|
||||
# ^ComponentsText
|
||||
Check the components you want to install and uncheck the components you don't want to install. $_CLICK
|
||||
# ^ComponentsSubText1
|
||||
Select the type of install:
|
||||
# ^ComponentsSubText2_NoInstTypes
|
||||
Select components to install:
|
||||
# ^ComponentsSubText2
|
||||
Or, select the optional components you wish to install:
|
||||
Select the folder to install %s in:
|
||||
Space available:
|
||||
Space required:
|
||||
# ^UnComponentsText
|
||||
Check the components you want to uninstall and uncheck the components you don't want to uninstall. $_CLICK
|
||||
# ^UnComponentsSubText1
|
||||
Select the type of uninstall:
|
||||
# ^UnComponentsSubText2_NoInstTypes
|
||||
Select components to uninstall:
|
||||
# ^UnComponentsSubText2
|
||||
Or, select the optional components you wish to uninstall:
|
||||
# ^DirText
|
||||
Setup will install $(^Name) in the following folder. To install in a different folder, click Browse and select another folder. $_CLICK
|
||||
# ^DirSubText
|
||||
Destination Folder
|
||||
# ^DirBrowseText
|
||||
Select the folder to install $(^Name) in:
|
||||
# ^UnDirText
|
||||
Setup will uninstall $(^Name) from the following folder. To uninstall from a different folder, click Browse and select another folder. $_CLICK
|
||||
# ^UnDirSubText
|
||||
""
|
||||
# ^UnDirBrowseText
|
||||
Select the folder to uninstall $(^Name) from:
|
||||
# ^SpaceAvailable
|
||||
"Space available: "
|
||||
# ^SpaceRequired
|
||||
"Space required: "
|
||||
# ^UninstallingText
|
||||
This wizard will uninstall $(^Name) from your computer. $_CLICK
|
||||
# ^UninstallingSubText
|
||||
Uninstalling from:
|
||||
Error opening file for writing: \r\n\t"$0"\r\nHit abort to abort installation,\r\nretry to retry writing the file, or\r\nignore to skip this file
|
||||
Error opening file for writing: \r\n\t"$0"\r\nHit retry to retry writing the file, or\r\ncancel to abort installation
|
||||
Can't write:
|
||||
# ^FileError
|
||||
Error opening file for writing: \r\n\t\"$0\"\r\nHit abort to abort installation,\r\nretry to retry writing the file, or\r\nignore to skip this file
|
||||
# ^FileError_NoIgnore
|
||||
Error opening file for writing: \r\n\t\"$0\"\r\nHit retry to retry writing the file, or\r\ncancel to abort installation
|
||||
# ^CantWrite
|
||||
"Can't write: "
|
||||
# ^CopyFailed
|
||||
Copy failed
|
||||
Copy to
|
||||
Registering:
|
||||
Unregistering:
|
||||
Could not find symbol:
|
||||
Could not load:
|
||||
Create folder:
|
||||
Create shortcut:
|
||||
Created uninstaller:
|
||||
Delete file:
|
||||
Delete on reboot:
|
||||
Error creating shortcut:
|
||||
Error creating:
|
||||
# ^CopyTo
|
||||
"Copy to "
|
||||
# ^Registering
|
||||
"Registering: "
|
||||
# ^Unregistering
|
||||
"Unregistering: "
|
||||
# ^SymbolNotFound
|
||||
"Could not find symbol: "
|
||||
# ^CouldNotLoad
|
||||
"Could not load: "
|
||||
# ^CreateFolder
|
||||
"Create folder: "
|
||||
# ^CreateShortcut
|
||||
"Create shortcut: "
|
||||
# ^CreatedUninstaller
|
||||
"Created uninstaller: "
|
||||
# ^Delete
|
||||
"Delete file: "
|
||||
# ^DeleteOnReboot
|
||||
"Delete on reboot: "
|
||||
# ^ErrorCreatingShortcut
|
||||
"Error creating shortcut: "
|
||||
# ^ErrorCreating
|
||||
"Error creating: "
|
||||
# ^ErrorDecompressing
|
||||
Error decompressing data! Corrupted installer?
|
||||
# ^ErrorRegistering
|
||||
Error registering DLL
|
||||
ExecShell:
|
||||
Execute:
|
||||
Extract:
|
||||
Extract: error writing to file
|
||||
# ^ExecShell
|
||||
"ExecShell: "
|
||||
# ^Exec
|
||||
"Execute: "
|
||||
# ^Extract
|
||||
"Extract: "
|
||||
# ^ErrorWriting
|
||||
"Extract: error writing to file "
|
||||
# ^InvalidOpcode
|
||||
Installer corrupted: invalid opcode
|
||||
No OLE for:
|
||||
Output folder:
|
||||
Remove folder:
|
||||
Rename on reboot:
|
||||
Rename:
|
||||
Skipped:
|
||||
# ^NoOLE
|
||||
"No OLE for: "
|
||||
# ^OutputFolder
|
||||
"Output folder: "
|
||||
# ^RemoveFolder
|
||||
"Remove folder: "
|
||||
# ^RenameOnReboot
|
||||
"Rename on reboot: "
|
||||
# ^Rename
|
||||
"Rename: "
|
||||
# ^Skipped
|
||||
"Skipped: "
|
||||
# ^CopyDetails
|
||||
Copy Details To Clipboard
|
||||
# ^LogInstall
|
||||
Log install process
|
||||
# byte
|
||||
# ^Byte
|
||||
B
|
||||
# kilo
|
||||
# ^Kilo
|
||||
K
|
||||
# mega
|
||||
# ^Mega
|
||||
M
|
||||
# giga
|
||||
# ^Giga
|
||||
G
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by izzo (izzo@hot.ee)
|
||||
Nullsoft Install System %s
|
||||
%s Paigaldamine
|
||||
%s Eemaldamine
|
||||
$(^Name) Paigaldamine
|
||||
$(^Name) Eemaldamine
|
||||
: Litsentsileping
|
||||
: Paigaldusvalikud
|
||||
: Paigalduskaust
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by AKX <akx@theakx.tk> - Modifications by Eclipser <Eclipser@pilvikaupunki.net>
|
||||
Nullsoft Asennusjärjestelmä %s
|
||||
%s Asennus
|
||||
%s Poisto
|
||||
$(^Name) Asennus
|
||||
$(^Name) Poisto
|
||||
: Lisenssisopimus
|
||||
: Asennusvaihtoehdot
|
||||
: Asennushakemisto
|
||||
|
@ -36,7 +38,7 @@ Oma
|
|||
Valitse asennustyyppi:
|
||||
Valitse asennettavat komponentit:
|
||||
Tai, valitse valinnaiset komponentit:
|
||||
Valitse hakemisto, johon %s asennetaan:
|
||||
Valitse hakemisto, johon $(^Name) asennetaan:
|
||||
Tilaa vapaana:
|
||||
Tarvittava tila:
|
||||
Poistetaan hakemistosta:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by the French NSIS team <veekee@winampfr.com> - http://www.winampfr.com/nsis.
|
||||
Nullsoft Install System %s
|
||||
Installation de %s
|
||||
Désinstallation de %s
|
||||
Installation de $(^Name)
|
||||
Désinstallation de $(^Name)
|
||||
: Licence
|
||||
: Options d'installation
|
||||
: Dossier d'installation
|
||||
|
@ -36,7 +38,7 @@ Personnalis
|
|||
Sélectionnez le type d'installation :
|
||||
Sélectionnez les composants à installer :
|
||||
Ou, sélectionnez les composants optionnels que vous voulez installer :
|
||||
Sélectionnez le dossier d'installation de %s :
|
||||
Sélectionnez le dossier d'installation de $(^Name) :
|
||||
Espace disponible :
|
||||
Espace requis :
|
||||
Désinstallation de :
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by L.King, changes by R. Bisswanger
|
||||
Nullsoft Install System %s
|
||||
%s Installation
|
||||
%s Deinstallation
|
||||
$(^Name) Installation
|
||||
$(^Name) Deinstallation
|
||||
: Lizenzabkommen
|
||||
: Installations-Optionen
|
||||
: Zielverzeichnis
|
||||
|
@ -36,7 +38,7 @@ Benutzerdefiniert
|
|||
Installations-Typ bestimmen:
|
||||
Wählen Sie die Komponenten aus, die Sie installieren möchten:
|
||||
oder wählen Sie zusätzliche Komponenten aus:
|
||||
Wählen Sie das Verzeichnis aus, in das Sie %s installieren möchten:
|
||||
Wählen Sie das Verzeichnis aus, in das Sie $(^Name) installieren möchten:
|
||||
Verfügbarer Speicher:
|
||||
Benötigter Speicher:
|
||||
Deinstalliere aus:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Makidis N. Mike
|
||||
Nullsoft Install System %s
|
||||
Εγκατάσταση του '%s'
|
||||
Απεγκατάσταση του '%s'
|
||||
Εγκατάσταση του '$(^Name)'
|
||||
Απεγκατάσταση του '$(^Name)'
|
||||
: Συμφωνία ’δειας Χρήσης
|
||||
: Επιλογές Εγκατάστασης
|
||||
: Φάκελος Εγκατάστασης
|
||||
|
@ -36,7 +38,7 @@ Nullsoft Install System %s
|
|||
Επιλέξτε τύπο εγκατάστασης:
|
||||
Επιλέξτε τα στοιχεία που θέλετε να εγκαταστήσετε:
|
||||
Ή, επιλέξτε τα προαιρετικά στοιχεία που θέλετε να εγκαταστήσετε:
|
||||
Επιλέξτε το φάκελο εγκατάστασης για το '%s':
|
||||
Επιλέξτε το φάκελο εγκατάστασης για το '$(^Name)':
|
||||
Διαθέσιμος χώρος:
|
||||
Απαιτούμενος χώρος:
|
||||
Απεγκατάστ. από:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
RTL
|
||||
# Translation by Amir Szekely (aka KiCHiK)
|
||||
Nullsoft Install System %s
|
||||
התקנת %s
|
||||
הסרת %s
|
||||
התקנת $(^Name)
|
||||
הסרת $(^Name)
|
||||
: הסכם רישוי
|
||||
: אפשרויות התקנה
|
||||
: תיקיית התקנה
|
||||
|
@ -19,8 +21,8 @@ Nullsoft Install System %s
|
|||
: אישור הסרה
|
||||
: מסיר
|
||||
: ההסרה הושלמה
|
||||
< ה&קודם
|
||||
ה&בא >
|
||||
ה&קודם >
|
||||
< ה&בא
|
||||
אני &מסכים
|
||||
אני &מסכים לתנאי הסכם הרישוי
|
||||
אני &לא מסכים לתנאי הסכם הרישוי
|
||||
|
@ -28,20 +30,20 @@ Nullsoft Install System %s
|
|||
&הסר
|
||||
ביטול
|
||||
סגור&
|
||||
&עיין...
|
||||
...&עיין
|
||||
ה&צג פרטים
|
||||
שם
|
||||
הפעולה הושלמה
|
||||
מותאם אישית
|
||||
בחר סוג התקנה:
|
||||
בחר רכיבים להתקנה:
|
||||
או, בחר רכיבי רשות להתקנה:
|
||||
בחר תיקייה להתקנת %s:
|
||||
:בחר סוג התקנה
|
||||
:בחר רכיבים להתקנה
|
||||
:או, בחר רכיבי רשות להתקנה
|
||||
:בחר תיקייה להתקנת $(^Name)
|
||||
מקום פנוי:
|
||||
מקום דרוש:
|
||||
מסיר מ:
|
||||
:מסיר מ
|
||||
ארעה שגיאה בעת פתיחת קובץ לכתיבה:\r\n\t"$0"\r\nלחץ על ביטול כדי לבטל את ההתקנה,\r\nנסה שנית כדי לנסות לפתוח את הקובץ שוב, או\r\nהתעלם כדי לדלג על הקובץ
|
||||
ארעה שגיאה בעת פתיחת קובץ לכתיבה:\r\n\t"$0"\r\nלחץ על נסה שנית כדי לנסות לפתוח את הקובץ שוב, או\r\nביטול עדי לבטל את התתקנה
|
||||
ארעה שגיאה בעת פתיחת קובץ לכתיבה:\r\n\t"$0"\r\nלחץ על נסה שנית כדי לנסות לפתוח את הקובץ שוב, או\r\nביטול כדי לבטל את התתקנה
|
||||
לא ניתן לכתוב:
|
||||
ההעתקה נכשלה
|
||||
העתק ל-
|
||||
|
@ -74,8 +76,8 @@ Nullsoft Install System %s
|
|||
# byte
|
||||
"ב
|
||||
# kilo
|
||||
ק
|
||||
ק
|
||||
# mega
|
||||
מ
|
||||
מ
|
||||
# giga
|
||||
ג
|
||||
ג
|
|
@ -7,11 +7,13 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Soft-Trans Bt. (V2)
|
||||
# Translation by Orfanik Kft. (V3-V5)
|
||||
Nullsoft Telepítőrendszer %s
|
||||
%s Telepítő
|
||||
%s Eltávolító
|
||||
$(^Name) Telepítő
|
||||
$(^Name) Eltávolító
|
||||
: Licencszerződés
|
||||
: Telepítési lehetőségek
|
||||
: Célmappa
|
||||
|
@ -37,7 +39,7 @@ Egy
|
|||
Válassza ki a telepítés típusát:
|
||||
Válassza ki a telepítendő összetevőket:
|
||||
vagy, jelölje ki a választható összetevők közül a telepíteni kívánta(ka)t:
|
||||
Melyik mappába telepíti a(z) %s fájlt:
|
||||
Melyik mappába telepíti a(z) $(^Name) fájlt:
|
||||
Szabad terület:
|
||||
Helyigény:
|
||||
Eltávolítás helye:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v2
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Orfanik - http://www.orfanik.hu
|
||||
Nullsoft Install System %s
|
||||
Installazione di %s
|
||||
Disinstallazione di %s
|
||||
Installazione di $(^Name)
|
||||
Disinstallazione di $(^Name)
|
||||
: Licenza d'uso
|
||||
: Opzioni di installazione
|
||||
: Cartella di installazione
|
||||
|
@ -34,7 +36,7 @@ Personalizzata
|
|||
Seleziona il tipo d'installazione :
|
||||
Seleziona i componenti da installare :
|
||||
Oppure, seleziona i componenti opzionali che vuoi installare :
|
||||
Seleziona la cartella dove installare %s :
|
||||
Seleziona la cartella dove installare $(^Name) :
|
||||
Spazio disponibile :
|
||||
Spazio necessario :
|
||||
Rimozione da :
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
9
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
932
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Dnanako, updated by Takahiro Yoshimura <takahiro_y@monolithworks.co.jp>
|
||||
Nullsoft Install System %s
|
||||
%s セットアップ
|
||||
%s アンインストール
|
||||
$(^Name) セットアップ
|
||||
$(^Name) アンインストール
|
||||
:ライセンス契約書
|
||||
:インストール オプション
|
||||
:インストール フォルダ
|
||||
|
@ -36,7 +38,7 @@ Nullsoft Install System %s
|
|||
インストール タイプを選択:
|
||||
インストール コンポーネントを選択:
|
||||
または、インストール オプション コンポーネントを選択:
|
||||
%s をインストールするフォルダを選択してください:
|
||||
$(^Name) をインストールするフォルダを選択してください:
|
||||
利用可能なディスクスペース:
|
||||
必要なディスクスペース:
|
||||
アンインストール元:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
9
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
949
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by dTomoyo <dtomoyo@empal.com> - http://user.chol.com/~ckgfx / Modified by koder@popdesk.co.kr
|
||||
널소프트 설치 시스템 %s
|
||||
%s 설치
|
||||
%s 제거
|
||||
$(^Name) 설치
|
||||
$(^Name) 제거
|
||||
: 사용 계약 동의
|
||||
: 설치 옵션
|
||||
: 폴더 지정
|
||||
|
@ -37,7 +39,7 @@ NLF v5
|
|||
설치 형태를 선택하세요:
|
||||
설치하려는 구성 요소를 선택하세요:
|
||||
구성요소 직접 선택:
|
||||
%s (을)를 다음 폴더에 설치합니다:
|
||||
$(^Name) (을)를 다음 폴더에 설치합니다:
|
||||
남은 디스크 공간:
|
||||
필요한 디스크 공간:
|
||||
제거 대상:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v3
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by NorCis
|
||||
Nullsoft Install System %s
|
||||
%s Idiegimas
|
||||
%s Panaikinti
|
||||
$(^Name) Idiegimas
|
||||
$(^Name) Panaikinti
|
||||
: Naudojimo sutartis
|
||||
: Idiegimo nustatymai
|
||||
: Idiegimo katalogas
|
||||
|
@ -36,7 +38,7 @@ Kitoks
|
|||
Pasirinkite idiegimo tipa:
|
||||
Pasirinkite komponentus, kuriuos idiegti:
|
||||
Arba, pasirinkite neprivalomus komponentus, kuriuos jus norite idiegti:
|
||||
Pasirinkite kataloga, kur idiegti %s:
|
||||
Pasirinkite kataloga, kur idiegti $(^Name):
|
||||
Yra vietos:
|
||||
Reikia vietos:
|
||||
Trinama iš:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Sasko Zdravkin [vardarce@mail.com]
|
||||
Nullsoft Install System %s
|
||||
%s Инсталирање
|
||||
%s Деинсталирање
|
||||
$(^Name) Инсталирање
|
||||
$(^Name) Деинсталирање
|
||||
: Лиценцен Договор
|
||||
: Инсталациони опции
|
||||
: Инсталационен директориум
|
||||
|
@ -36,7 +38,7 @@ Nullsoft Install System %s
|
|||
Одберето го видот на инсталацијата:
|
||||
Одберете компоненти за инсталирање:
|
||||
Или, одберете одредени компоненти за инсталирање:
|
||||
Одберете го директориумот за инсталирање на %s:
|
||||
Одберете го директориумот за инсталирање на $(^Name):
|
||||
Слободен простор:
|
||||
Потребен простор:
|
||||
Деинсталирај од:
|
||||
|
|
|
@ -7,11 +7,13 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
1250
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Piotr Murawski & Rafał Lampe <ppiter@skrzynka.pl> - www.lomsel.prv.pl
|
||||
# corrections, additions, updates by cube cube(at)lp.net.pl
|
||||
Nullsoft Install System %s
|
||||
%s Instalator
|
||||
%s Odinstaluj
|
||||
$(^Name) Instalator
|
||||
$(^Name) Odinstaluj
|
||||
: Warunki licencji
|
||||
: Opcje instalacji
|
||||
: Folder instalacji
|
||||
|
@ -37,7 +39,7 @@ U
|
|||
Wybierz typ instalacji:
|
||||
Wybierz komponenty do zainstalowania:
|
||||
lub wybierz opcjonalne komponenty, które chcesz zainstalować:
|
||||
Wybierz folder instalacji %s:
|
||||
Wybierz folder instalacji $(^Name):
|
||||
Dostępne miejsce:
|
||||
Wymagane miejsce:
|
||||
Odinstalowuje z:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
1252
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation v4.0.3 by DragonSoull <dragonsoull@madalien.tk> with help from Dre` - Updated by Ramon
|
||||
Sistema de Instalação Nullsoft %s
|
||||
Instalação de %s
|
||||
Desinstalação de %s
|
||||
Instalação de $(^Name)
|
||||
Desinstalação de $(^Name)
|
||||
: Contrato de Licença
|
||||
: Opções de instalação
|
||||
: Directoria de instalação
|
||||
|
@ -37,7 +39,7 @@ Personalizada
|
|||
Escolha o tipo de instalação:
|
||||
Escolha os componentes a instalar:
|
||||
Ou, escolha os componentes opcionais que deseja instalar:
|
||||
Escolha a directoria a instalar %s:
|
||||
Escolha a directoria a instalar $(^Name):
|
||||
Espaço disponível:
|
||||
Espaço necessário:
|
||||
A Desinstalar de:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Diego Marcos <jump@osite.com.br>
|
||||
Sistema de Instalação Nullsoft %s
|
||||
Instalação do %s
|
||||
Desinstalação do %s
|
||||
Instalação do $(^Name)
|
||||
Desinstalação do $(^Name)
|
||||
: Contrato de Licença
|
||||
: Opções de instalação
|
||||
: Diretório de instalação
|
||||
|
@ -36,7 +38,7 @@ Personalizado
|
|||
Escolha o tipo de instalação:
|
||||
Escolha os componentes para instalar:
|
||||
Ou, selecione os componentes opcionais que deseja instalar:
|
||||
Escolha o diretório para instalar %s:
|
||||
Escolha o diretório para instalar $(^Name):
|
||||
Espaço disponível:
|
||||
Espaço necessário:
|
||||
Desinstalando de:
|
||||
|
|
|
@ -7,12 +7,14 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
1250
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Revision by Sorin Sbarnea (sorin@intersol.ro) v5.1
|
||||
# Translation by Cristian Pirvu (pcristip@yahoo.com) v5
|
||||
# and Sorin Sbarnea INTERSOL SRL (sorin@intersol.ro) v4
|
||||
Sistem de instalare Nullsoft %s
|
||||
Instalare %s
|
||||
Dezinstalare %s
|
||||
Instalare $(^Name)
|
||||
Dezinstalare $(^Name)
|
||||
: Licenta de utilizare
|
||||
: Optiuni de instalare
|
||||
: Directorul de instalare
|
||||
|
@ -38,7 +40,7 @@ Nestandard
|
|||
Alegeti tipul instalarii:
|
||||
Alegeti componentele de instalat:
|
||||
Sau alegeti componentele optionale pe care vreti sa le instalati:
|
||||
Selectati directorul In care vreti sa instalati %s:
|
||||
Selectati directorul In care vreti sa instalati $(^Name):
|
||||
Spatiu disponibil:
|
||||
Spatiu necesar:
|
||||
Dezinstaleaza din:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Timon [ timon@front.ru ] + 20030720
|
||||
Nullsoft Install System %s
|
||||
%s Установка
|
||||
%s Удаление
|
||||
$(^Name) Установка
|
||||
$(^Name) Удаление
|
||||
: Лицензионное соглашение
|
||||
: Опции установки
|
||||
: Директория установки
|
||||
|
@ -37,7 +39,7 @@ Nullsoft Install System %s
|
|||
Выберите тип установки:
|
||||
Выберите компоненты для установки:
|
||||
Или, выберите вручную компоненты, которые Вы желаете установить:
|
||||
Выберите директорию для установки %s в:
|
||||
Выберите директорию для установки $(^Name) в:
|
||||
Доступно места:
|
||||
Необходимо места:
|
||||
Удаление из:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Vladan "vladano@EUnet.yu" Obradovic
|
||||
Nullsoft Install System %s
|
||||
%s Instalacija
|
||||
%s Deinstalacija
|
||||
$(^Name) Instalacija
|
||||
$(^Name) Deinstalacija
|
||||
: Uslovi Licence
|
||||
: Installacione Opcije
|
||||
: Installacioni Direktorijum
|
||||
|
@ -36,7 +38,7 @@ Posebno
|
|||
Odaberi tip instalacije:
|
||||
Odaberi komponente koje želiš instalirati:
|
||||
Ili, odaberi opcione komponente koje želiš instalirati:
|
||||
Odaberi direktorijum u koji želiš instalirati %s:
|
||||
Odaberi direktorijum u koji želiš instalirati $(^Name):
|
||||
Slobodno na disku:
|
||||
Potrebno na disku:
|
||||
Deinstaliram iz:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
9
|
||||
# Codepage - dash (-) means ANSI code page ANSI 字码页
|
||||
936
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Kii Ali <kiiali@cpatch.org>, Revision Date: 2003-05-30
|
||||
Nullsoft Install System %s
|
||||
%s 安装
|
||||
%s 解除安装
|
||||
$(^Name) 安装
|
||||
$(^Name) 解除安装
|
||||
: 授权条款
|
||||
: 安装选项
|
||||
: 安装文件夹
|
||||
|
@ -36,7 +38,7 @@ Nullsoft Install System %s
|
|||
选定安装的类型:
|
||||
选定安装的组件:
|
||||
或者,自定义选定想安装的组件:
|
||||
选定要安装 %s 的文件夹:
|
||||
选定要安装 $(^Name) 的文件夹:
|
||||
可用空间:
|
||||
所需空间:
|
||||
解除安装目录:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v3
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by trace & Kypec
|
||||
Nullsoft Install System %s
|
||||
Inštalácia %s
|
||||
Odinštalácia %s
|
||||
Inštalácia $(^Name)
|
||||
Odinštalácia $(^Name)
|
||||
: Licenèná zmluva
|
||||
: Možnosti inštalácie
|
||||
: Adresár inštalácie
|
||||
|
@ -36,7 +38,7 @@ Vlastn
|
|||
Zvo¾te typ inštalácie:
|
||||
Zvo¾te komponenty, ktoré sa majú nainštalova<76>:
|
||||
Alebo, vyberte volite¾né komponenty, ktoré sa majú nainštalova<76>:
|
||||
Zvo¾te adresár do ktorého sa má %s nainštalova<76>:
|
||||
Zvo¾te adresár do ktorého sa má $(^Name) nainštalova<76>:
|
||||
Vo¾ný priestor:
|
||||
Potrebný priestor:
|
||||
Odinštalovávam z:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Janez Dolinar
|
||||
Nullsoft Install System %s
|
||||
%s Namestitev
|
||||
%s Odstranitev
|
||||
$(^Name) Namestitev
|
||||
$(^Name) Odstranitev
|
||||
: Licenčna pogodba
|
||||
: Možnosti namestitve
|
||||
: Mapa namestitve
|
||||
|
@ -37,7 +39,7 @@ Po meri
|
|||
Izberite tip namestitve:
|
||||
Izberite bloke namestitve:
|
||||
Ali si izberite bloke namestitve, ki jih želite:
|
||||
Izberi mapo za namestitev %s:
|
||||
Izberi mapo za namestitev $(^Name):
|
||||
Prosto:
|
||||
Zahtevano:
|
||||
Odstranjujem iz:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by MoNKi
|
||||
Nullsoft Install System %s
|
||||
Instalación de %s
|
||||
Desinstalación de %s
|
||||
Instalación de $(^Name)
|
||||
Desinstalación de $(^Name)
|
||||
: Acuerdo de Licencia
|
||||
: Opciones de Instalación
|
||||
: Directorio de Instalación
|
||||
|
@ -36,7 +38,7 @@ Personalizada
|
|||
Indique el tipo de instalación:
|
||||
Seleccione los componentes:
|
||||
O seleccione los componentes opcionales a instalar:
|
||||
Seleccione el directorio en el que instalar %s:
|
||||
Seleccione el directorio en el que instalar $(^Name):
|
||||
Espacio disponible:
|
||||
Espacio requerido:
|
||||
Desinstalando desde:
|
||||
|
|
|
@ -8,10 +8,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Magnus Bonnevier (magnus.bonnevier@telia.com)
|
||||
Nullsoft Install System %s
|
||||
%s Setup
|
||||
%s Avinstallation
|
||||
$(^Name) Setup
|
||||
$(^Name) Avinstallation
|
||||
: Licens Avtal
|
||||
: Installations Val
|
||||
: Installations Katalog
|
||||
|
@ -37,7 +39,7 @@ Custom
|
|||
Välj typ av installation:
|
||||
Välj komponenter att installera:
|
||||
Eller, välj alternativa komponenter du önskar installera:
|
||||
Välj katalog att installera %s i:
|
||||
Välj katalog att installera $(^Name) i:
|
||||
Ytrymme tillgängligt:
|
||||
Ytrymme som behövs:
|
||||
Avinstallerar från:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v2
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by TuW@nNu tuwannu@hotmail.com (asdfuae)
|
||||
Nullsoft Install System %s
|
||||
%s オヤエオム鬧
|
||||
%s カヘケ。メテオヤエオム鬧
|
||||
$(^Name) µÔ´µÑé§
|
||||
$(^Name) ¶Í¹¡ÒõԴµÑé§
|
||||
: ㈤偷∨о米柰<E7B1B3>寓试犯造
|
||||
: 笛青抛汀∫玫源笛椐
|
||||
: 饪培赐渺氛璧源笛椐
|
||||
|
@ -34,7 +36,7 @@ Nullsoft Install System %s
|
|||
嗯淄∶倩岷骸颐翟吹验<EFBFBD>:
|
||||
嗯淄·土饩喙沟旆砧甸艇∫玫源笛椐:
|
||||
嗯淄·土饩喙沟焱阻规氛璧橥А颐翟吹验<EFBFBD>:
|
||||
耆魴ヤエオム鬧 %s ナァ羯:
|
||||
ãËéµÔ´µÑé§ $(^Name) ŧã¹:
|
||||
喙组头砧氛栲伺淄:
|
||||
喙组头砧氛璧橥А颐:
|
||||
锻埂颐翟吹验Ж摇:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
9
|
||||
# Codepage - dash (-) means ANSI code page ANSI 字碼頁
|
||||
950
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Kii Ali <kiiali@cpatch.org>, Revision Date: 2003-05-30
|
||||
Nullsoft Install System %s
|
||||
%s 安裝
|
||||
%s 解除安裝
|
||||
$(^Name) 安裝
|
||||
$(^Name) 解除安裝
|
||||
: 授權條款
|
||||
: 安裝選項
|
||||
: 安裝資料夾
|
||||
|
@ -36,7 +38,7 @@ Nullsoft Install System %s
|
|||
選取安裝的類型:
|
||||
選取安裝的元件:
|
||||
或者,自訂選取想安裝的元件:
|
||||
選取要安裝 %s 的資料夾:
|
||||
選取要安裝 $(^Name) 的資料夾:
|
||||
可用空間:
|
||||
所需空間:
|
||||
解除安裝目錄:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v5
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Fatih BOY (fatih@smartcoding.org)
|
||||
Nullsoft Kurulum Sistemi %s
|
||||
%s Kurulumu
|
||||
%s Uninstaller
|
||||
$(^Name) Kurulumu
|
||||
$(^Name) Uninstaller
|
||||
: Sözlesme
|
||||
: Kurulum Ayarlari
|
||||
: Kurulum Dizini
|
||||
|
@ -36,7 +38,7 @@ Tamamlandi
|
|||
Kurulum seklini seçiniz:
|
||||
Kurulacak paketleri seçiniz:
|
||||
Veya, kurmak istediginiz paketleri seçiniz:
|
||||
%s kurulumu için bir dizin seçin:
|
||||
$(^Name) kurulumu için bir dizin seçin:
|
||||
Kalan bos alan:
|
||||
Gerekli bos alan:
|
||||
Kaldiriliyor:
|
||||
|
|
|
@ -7,10 +7,12 @@ NLF v4
|
|||
-
|
||||
# Codepage - dash (-) means ANSI code page
|
||||
-
|
||||
# RTL - anything else than RTL means LTR
|
||||
-
|
||||
# Translation by Yuri Holubow, Nash-Soft.com <http://www.Nash-Soft.com/home>
|
||||
Nullsoft Install System %s
|
||||
%s Установка
|
||||
%s Видалення
|
||||
$(^Name) Установка
|
||||
$(^Name) Видалення
|
||||
: Лiцензiйна угода
|
||||
: Опцiї установки
|
||||
: Директорiя установки
|
||||
|
@ -36,7 +38,7 @@ I
|
|||
Виберiть тип установки:
|
||||
Виберiть компоненти для установки:
|
||||
Чи, виберiть вручну компоненти, якi Ви хочете встановити:
|
||||
Виберiть директорiю для установки %s в:
|
||||
Виберiть директорiю для установки $(^Name) в:
|
||||
Доступно мiсця:
|
||||
Необхiдно мiсця:
|
||||
Видалення з:
|
||||
|
|
|
@ -2,7 +2,7 @@ StartMenu.dll shows a custom page that lets the user select a start menu program
|
|||
folder to put shortcuts in.
|
||||
|
||||
To show the dialog use the Select function. This function has one required parameter
|
||||
which is the program group default name, and some more optional parameters:
|
||||
which is the program group default name, and some more optional switches:
|
||||
/autoadd - automatically adds the program name to the selected folder
|
||||
/noicon - doesn't show the icon in the top left corner
|
||||
/text [please select...] - sets the top text to something else than
|
||||
|
@ -14,13 +14,20 @@ which is the program group default name, and some more optional parameters:
|
|||
the user checks this box, the return value
|
||||
will have > as its first character and you
|
||||
should not create the program group.
|
||||
/rtl - sets the direction of every control on the selection dialog
|
||||
to RTL. This means every text shown on the page will be
|
||||
justified to the right.
|
||||
|
||||
The order of the switches doesn't matter but the required parameter must come after
|
||||
all of them. Every switch after the required parameter will be ignored and left
|
||||
on the stack.
|
||||
|
||||
The function pushes "success", "cancel" or an error to the stack. If there was no
|
||||
error and the user didn't press on cancel it will push the selected folder name
|
||||
after "success". If the user checked the no shortcuts checkbox the '>' will be
|
||||
appended to the folder name. The function does not push the full path but only the
|
||||
selected sub-folder. It's up to you to decide if to put it in the current user or
|
||||
all users start menu.
|
||||
after "success". If the user checked the no shortcuts checkbox the result will be
|
||||
prefixed with '>'. The function does not push the full path but only the selected
|
||||
sub-folder. It's up to you to decide if to put it in the current user or all
|
||||
users start menu.
|
||||
|
||||
Look at Example.nsi for an example.
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ char checkbox[1024];
|
|||
int autoadd = 0;
|
||||
int g_done = 0;
|
||||
int noicon = 0;
|
||||
int rtl = 0;
|
||||
|
||||
void *lpWndProcOld;
|
||||
|
||||
|
@ -54,6 +55,10 @@ void __declspec(dllexport) Select(HWND hwndParent, int string_size, char *variab
|
|||
{
|
||||
noicon = 1;
|
||||
}
|
||||
else if (!lstrcmpi(buf+1, "rtl"))
|
||||
{
|
||||
rtl = 1;
|
||||
}
|
||||
else if (!lstrcmpi(buf+1, "text"))
|
||||
{
|
||||
popstring(text);
|
||||
|
@ -73,7 +78,8 @@ void __declspec(dllexport) Select(HWND hwndParent, int string_size, char *variab
|
|||
if (popstring(buf))
|
||||
*buf = 0;
|
||||
}
|
||||
if (*buf) lstrcpy(progname, buf);
|
||||
if (*buf)
|
||||
lstrcpy(progname, buf);
|
||||
else
|
||||
{
|
||||
pushstring("error reading parameters");
|
||||
|
@ -145,16 +151,22 @@ BOOL CALLBACK dlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
int y_offset = 0;
|
||||
|
||||
int width, height;
|
||||
|
||||
GetWindowRect(hwChild, &dialog_r);
|
||||
ScreenToClient(hwParent, (LPPOINT) &dialog_r);
|
||||
ScreenToClient(hwParent, ((LPPOINT) &dialog_r)+1);
|
||||
|
||||
width = dialog_r.right - dialog_r.left;
|
||||
height = dialog_r.bottom - dialog_r.top;
|
||||
|
||||
SetWindowPos(
|
||||
hwndDlg,
|
||||
0,
|
||||
dialog_r.left,
|
||||
dialog_r.top,
|
||||
dialog_r.right - dialog_r.left,
|
||||
dialog_r.bottom - dialog_r.top,
|
||||
width,
|
||||
height,
|
||||
SWP_NOZORDER | SWP_NOACTIVATE
|
||||
);
|
||||
|
||||
|
@ -171,6 +183,19 @@ BOOL CALLBACK dlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
SendMessage(hwDirList, WM_SETFONT, (WPARAM) hFont, TRUE);
|
||||
SendMessage(hwCheckBox, WM_SETFONT, (WPARAM) hFont, TRUE);
|
||||
|
||||
if (rtl)
|
||||
{
|
||||
long s;
|
||||
s = GetWindowLong(hwText, GWL_STYLE);
|
||||
SetWindowLong(hwText, GWL_STYLE, (s & ~SS_LEFT) | SS_RIGHT);
|
||||
s = GetWindowLong(hwLocation, GWL_STYLE);
|
||||
SetWindowLong(hwLocation, GWL_STYLE, (s & ~ES_LEFT) | ES_RIGHT);
|
||||
s = GetWindowLong(hwDirList, GWL_EXSTYLE);
|
||||
SetWindowLong(hwDirList, GWL_EXSTYLE, s | WS_EX_RIGHT | WS_EX_RTLREADING);
|
||||
s = GetWindowLong(hwCheckBox, GWL_STYLE);
|
||||
SetWindowLong(hwCheckBox, GWL_STYLE, s | BS_RIGHT | BS_LEFTTEXT);
|
||||
}
|
||||
|
||||
if (!noicon)
|
||||
{
|
||||
SendMessage(
|
||||
|
@ -180,39 +205,50 @@ BOOL CALLBACK dlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
(LPARAM)LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(103))
|
||||
);
|
||||
}
|
||||
|
||||
GetClientRect(hwIcon, &temp_r);
|
||||
|
||||
SetWindowPos(
|
||||
hwIcon,
|
||||
0,
|
||||
rtl ? width - temp_r.right : 0,
|
||||
0,
|
||||
0,
|
||||
32,
|
||||
32,
|
||||
temp_r.right,
|
||||
temp_r.bottom,
|
||||
SWP_NOACTIVATE | (noicon ? SWP_HIDEWINDOW : 0)
|
||||
);
|
||||
|
||||
if (!*text)
|
||||
lstrcpy(text, "Select the Start Menu folder in which you would like to create the program's shortcuts:");
|
||||
//GetWindowRect(hwIcon, &temp_r);
|
||||
//ScreenToClient(hwndDlg, ((LPPOINT) &temp_r));
|
||||
//ScreenToClient(hwndDlg, ((LPPOINT) &temp_r) + 1);
|
||||
|
||||
GetWindowRect(hwIcon, &temp_r);
|
||||
temp_r.right += 5;
|
||||
temp_r.bottom += 5;
|
||||
ScreenToClient(hwndDlg, ((LPPOINT) &temp_r) + 1);
|
||||
if (rtl)
|
||||
{
|
||||
ProgressiveSetWindowPos(
|
||||
hwText,
|
||||
0,
|
||||
width - (noicon ? 0 : temp_r.right + 5),
|
||||
temp_r.bottom + 2
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
ProgressiveSetWindowPos(
|
||||
hwText,
|
||||
noicon ? 0 : temp_r.right + 5,
|
||||
width - (noicon ? 0 : temp_r.right + 5),
|
||||
temp_r.bottom + 2
|
||||
);
|
||||
}
|
||||
|
||||
ProgressiveSetWindowPos(
|
||||
hwText,
|
||||
noicon ? 0 : temp_r.right,
|
||||
dialog_r.right - dialog_r.left - (noicon ? 0 : temp_r.right),
|
||||
temp_r.bottom + 2
|
||||
);
|
||||
|
||||
SetWindowText(hwText, text);
|
||||
SetWindowText(hwText, *text ? text : "Select the Start Menu folder in which you would like to create the program's shortcuts:");
|
||||
|
||||
GetWindowRect(hwLocation, &temp_r);
|
||||
|
||||
ProgressiveSetWindowPos(
|
||||
hwLocation,
|
||||
0,
|
||||
dialog_r.right - dialog_r.left,
|
||||
width,
|
||||
temp_r.bottom - temp_r.top
|
||||
);
|
||||
|
||||
|
@ -233,14 +269,14 @@ BOOL CALLBACK dlgProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
ProgressiveSetWindowPos(
|
||||
hwDirList,
|
||||
0,
|
||||
dialog_r.right - dialog_r.left,
|
||||
dialog_r.bottom - dialog_r.top - y_offset - (*checkbox ? temp_r.bottom - temp_r.top + 5 : 0)
|
||||
width,
|
||||
height - y_offset - (*checkbox ? temp_r.bottom - temp_r.top + 5 : 0)
|
||||
);
|
||||
|
||||
ProgressiveSetWindowPos(
|
||||
hwCheckBox,
|
||||
0,
|
||||
dialog_r.right - dialog_r.left,
|
||||
width,
|
||||
temp_r.bottom - temp_r.top
|
||||
);
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ BSC32=bscmake.exe
|
|||
# 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 /dll /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 /entry:"_DllMainCRTStartup" /dll /machine:I386 /nodefaultlib /out:"../../Plugins/StartMenu.dll" /opt:nowin98
|
||||
# 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 /entry:"_DllMainCRTStartup" /dll /map /machine:I386 /nodefaultlib /out:"../../Plugins/StartMenu.dll" /opt:nowin98
|
||||
# SUBTRACT LINK32 /pdb:none
|
||||
|
||||
!ELSEIF "$(CFG)" == "StartMenu - Win32 Debug"
|
||||
|
|
|
@ -17,11 +17,12 @@
|
|||
#define PCD_PARAMS 2
|
||||
#define PCD_DONE 3 // Just Continue
|
||||
|
||||
int ParamSizeByType[6] = {0, // PAT_VOID (Size will be equal to 1)
|
||||
int ParamSizeByType[7] = {0, // PAT_VOID (Size will be equal to 1)
|
||||
1, // PAT_INT
|
||||
2, // PAT_LONG
|
||||
1, // PAT_STRING
|
||||
1, // PAT_BOOLEAN
|
||||
1, // PAT_WSTRING
|
||||
1, // PAT_GUID
|
||||
0}; // PAT_CALLBACK (Size will be equal to 1)
|
||||
|
||||
int z1, z2; // I've made them static for easier use at callback procs
|
||||
|
@ -36,7 +37,6 @@ HINSTANCE g_hInstance;
|
|||
char retexpr[3] = {0xC2, 0x00, 0x00};
|
||||
HANDLE retaddr;
|
||||
|
||||
|
||||
char *GetResultStr(SystemProc *proc)
|
||||
{
|
||||
char *buf = AllocString();
|
||||
|
@ -180,6 +180,7 @@ PLUGINFUNCTION(Call)
|
|||
proc = CallBack(proc);
|
||||
break;
|
||||
case PT_PROC:
|
||||
case PT_VTABLEPROC:
|
||||
proc = CallProc(proc); break;
|
||||
case PT_STRUCT:
|
||||
CallStruct(proc); break;
|
||||
|
@ -253,7 +254,8 @@ PLUGINFUNCTIONSHORT(Int64Op)
|
|||
case '%':
|
||||
// It's unclear, but in this case compiler will use DivMod rountine
|
||||
// instead of two separate Div and Mod rountines.
|
||||
i3 = i1 / i2; i4 = i1 % i2;
|
||||
if (i2 == 0) { i3 = 0; i4 = i1; }
|
||||
else {i3 = i1 / i2; i4 = i1 % i2; }
|
||||
if (*op == '/') i1 = i3; else i1 = i4;
|
||||
break;
|
||||
case '|': if (op[1] == '|') i1 = i1 || i2; else i1 |= i2; break;
|
||||
|
@ -306,7 +308,12 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
{
|
||||
case 0x0: SectionType = -1; break;
|
||||
case '#': SectionType = PST_PROC; ProcType = PT_NOTHING; break;
|
||||
case '(': SectionType = PST_PARAMS; ParamIndex = 1; temp3 = temp = 0; break;
|
||||
case '(':
|
||||
SectionType = PST_PARAMS;
|
||||
// fake-real parameter: for COM interfaces first param is Interface Pointer
|
||||
ParamIndex = ((ProcType == PT_VTABLEPROC)?(2):(1));
|
||||
temp3 = temp = 0;
|
||||
break;
|
||||
case ')': SectionType = PST_RETURN; temp3 = temp = 0; break;
|
||||
case '?': SectionType = PST_OPTIONS; temp = 1; break;
|
||||
}
|
||||
|
@ -364,6 +371,7 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
}
|
||||
break;
|
||||
case PT_PROC:
|
||||
case PT_VTABLEPROC:
|
||||
lstrcpy(proc->ProcName, cbuf);
|
||||
lstrcpy(proc->DllName, sbuf);
|
||||
break;
|
||||
|
@ -389,8 +397,16 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
switch (*ib)
|
||||
{
|
||||
case ':':
|
||||
case '-':
|
||||
// Is it '::'
|
||||
if (*(ib+1) != ':') break;
|
||||
if ((*(ib) == '-') && (*(ib+1) == '>'))
|
||||
{
|
||||
ProcType = PT_VTABLEPROC;
|
||||
} else
|
||||
{
|
||||
if ((*(ib+1) != ':') || (*(ib) == '-')) break;
|
||||
ProcType = PT_PROC;
|
||||
}
|
||||
ib++; // Skip next ':'
|
||||
|
||||
if (cb > cbuf)
|
||||
|
@ -400,7 +416,6 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
} else *sbuf = 0; // No dll - system proc
|
||||
|
||||
// Ok
|
||||
ProcType = PT_PROC;
|
||||
ChangesDone = PCD_DONE;
|
||||
break;
|
||||
case '*':
|
||||
|
@ -442,8 +457,10 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
case 'L': temp2 = PAT_LONG; break;
|
||||
case 't':
|
||||
case 'T': temp2 = PAT_STRING; break;
|
||||
case 'b':
|
||||
case 'B': temp2 = PAT_BOOLEAN; break;
|
||||
case 'g':
|
||||
case 'G': temp2 = PAT_GUID; break;
|
||||
case 'w':
|
||||
case 'W': temp2 = PAT_WSTRING; break;
|
||||
case 'k':
|
||||
case 'K': temp2 = PAT_CALLBACK; break;
|
||||
|
||||
|
@ -589,6 +606,32 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
switch (proc->ProcType)
|
||||
{
|
||||
case PT_NOTHING: break;
|
||||
case PT_VTABLEPROC:
|
||||
{
|
||||
// Use direct system proc address
|
||||
int addr;
|
||||
|
||||
if ((proc->Dll = addr = (HANDLE) myatoi(proc->DllName)) == 0)
|
||||
{
|
||||
proc->ProcResult = PR_ERROR;
|
||||
break;
|
||||
}
|
||||
|
||||
// fake-real parameter: for COM interfaces first param is Interface Pointer
|
||||
proc->Params[1].Output = IOT_NONE;
|
||||
proc->Params[1].Input = AllocStr(proc->DllName);
|
||||
proc->Params[1].Size = 1;
|
||||
proc->Params[1].Type = PAT_INT;
|
||||
proc->Params[1].Option = 0;
|
||||
|
||||
// addr - pointer to interface vtable
|
||||
addr = *((int *)addr);
|
||||
// now addr contains the pointer to first item at VTABLE
|
||||
// add the index of proc
|
||||
addr = addr + (myatoi(proc->ProcName)*4);
|
||||
proc->Proc = *((HANDLE*)addr);
|
||||
}
|
||||
break;
|
||||
case PT_PROC:
|
||||
if (*proc->DllName == 0)
|
||||
{
|
||||
|
@ -607,7 +650,12 @@ SystemProc *PrepareProc(BOOL NeedForCall)
|
|||
|
||||
// Get proc address
|
||||
if ((proc->Proc = GetProcAddress(proc->Dll, proc->ProcName)) == NULL)
|
||||
proc->ProcResult = PR_ERROR;
|
||||
{
|
||||
// automatic A discover
|
||||
lstrcat(proc->ProcName, "A");
|
||||
if ((proc->Proc = GetProcAddress(proc->Dll, proc->ProcName)) == NULL)
|
||||
proc->ProcResult = PR_ERROR;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case PT_STRUCT:
|
||||
|
@ -634,6 +682,7 @@ void ParamsIn(SystemProc *proc)
|
|||
{
|
||||
int i, *place;
|
||||
char *realbuf;
|
||||
LPWSTR wstr;
|
||||
|
||||
i = (proc->ParamCount > 0)?(1):(0);
|
||||
while (TRUE)
|
||||
|
@ -654,7 +703,10 @@ void ParamsIn(SystemProc *proc)
|
|||
// Retreive pointer to place
|
||||
if (proc->Params[i].Option == -1) place = (int*) proc->Params[i].Value;
|
||||
else place = (int*) &(proc->Params[i].Value);
|
||||
|
||||
|
||||
// by default no blocks are allocated
|
||||
proc->Params[i].allocatedBlock = NULL;
|
||||
|
||||
// Step 2: place it
|
||||
switch (proc->Params[i].Type)
|
||||
{
|
||||
|
@ -671,10 +723,19 @@ void ParamsIn(SystemProc *proc)
|
|||
/* if (proc->Params[i].Input == IOT_NONE)
|
||||
*((int*) place) = (int) NULL;
|
||||
else*/
|
||||
*((int*) place) = (int) AllocStr(realbuf);
|
||||
*((int*) place) = (int) (proc->Params[i].allocatedBlock = AllocStr(realbuf));
|
||||
break;
|
||||
case PAT_BOOLEAN:
|
||||
*((int*) place) = lstrcmpi(realbuf, "true");
|
||||
case PAT_WSTRING:
|
||||
case PAT_GUID:
|
||||
wstr = (LPWSTR) (proc->Params[i].allocatedBlock = GlobalAlloc(GPTR, g_stringsize*2));
|
||||
MultiByteToWideChar(CP_ACP, 0, realbuf, g_stringsize, wstr, g_stringsize);
|
||||
if (proc->Params[i].Type == PAT_GUID)
|
||||
{
|
||||
*((HGLOBAL*)place) = (proc->Params[i].allocatedBlock = GlobalAlloc(GPTR, 16));
|
||||
CLSIDFromString(wstr, *((LPCLSID*)place));
|
||||
GlobalFree((HGLOBAL) wstr);
|
||||
} else
|
||||
*((LPWSTR*)place) = wstr;
|
||||
break;
|
||||
case PAT_CALLBACK:
|
||||
// Generate new or use old callback
|
||||
|
@ -718,6 +779,7 @@ void ParamsOut(SystemProc *proc)
|
|||
{
|
||||
int i, *place;
|
||||
char *realbuf;
|
||||
LPWSTR wstr;
|
||||
|
||||
i = proc->ParamCount;
|
||||
do
|
||||
|
@ -745,17 +807,29 @@ void ParamsOut(SystemProc *proc)
|
|||
int num = lstrlen(*((char**) place));
|
||||
if (num >= g_stringsize) num = g_stringsize-1;
|
||||
lstrcpyn(realbuf,*((char**) place), num+1);
|
||||
realbuf[num] = 0;
|
||||
realbuf[num] = 0;
|
||||
}
|
||||
break;
|
||||
case PAT_BOOLEAN:
|
||||
lstrcpy(realbuf,(*((int*) place))?("true"):("false"));
|
||||
case PAT_GUID:
|
||||
wstr = (LPWSTR) GlobalAlloc(GPTR, g_stringsize*2);
|
||||
StringFromGUID2(*((REFGUID*)place), wstr, g_stringsize*2);
|
||||
WideCharToMultiByte(CP_ACP, 0, wstr, g_stringsize, realbuf, g_stringsize, NULL, NULL);
|
||||
GlobalFree((HGLOBAL)wstr);
|
||||
break;
|
||||
case PAT_WSTRING:
|
||||
wstr = *((LPWSTR*)place);
|
||||
WideCharToMultiByte(CP_ACP, 0, wstr, g_stringsize, realbuf, g_stringsize, NULL, NULL);
|
||||
break;
|
||||
case PAT_CALLBACK:
|
||||
wsprintf(realbuf, "%d", proc->Params[i].Value);
|
||||
break;
|
||||
}
|
||||
|
||||
// memory cleanup
|
||||
if ((proc->Params[i].allocatedBlock != NULL) && ((proc->ProcType != PT_STRUCT)
|
||||
|| (proc->Params[i].Option > 0)))
|
||||
GlobalFree(proc->Params[i].allocatedBlock);
|
||||
|
||||
// Step 2: place it
|
||||
if (proc->Params[i].Output == IOT_NONE);
|
||||
else if (proc->Params[i].Output == IOT_STACK) pushstring(realbuf);
|
||||
|
@ -1160,7 +1234,11 @@ void CallStruct(SystemProc *proc)
|
|||
// pointer
|
||||
ptr = (char*) &(proc->Params[i].Value);
|
||||
break;
|
||||
case PAT_STRING: ptr = (char*) proc->Params[i].Value; break;
|
||||
|
||||
case PAT_STRING:
|
||||
case PAT_GUID:
|
||||
case PAT_WSTRING:
|
||||
ptr = (char*) proc->Params[i].Value; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#define PT_NOTHING 0
|
||||
#define PT_PROC 1
|
||||
#define PT_STRUCT 2
|
||||
#define PT_VTABLEPROC 3
|
||||
|
||||
// Proc results:
|
||||
#define PR_OK 0
|
||||
|
@ -29,8 +30,9 @@
|
|||
#define PAT_INT 1
|
||||
#define PAT_LONG 2
|
||||
#define PAT_STRING 3
|
||||
#define PAT_BOOLEAN 4
|
||||
#define PAT_CALLBACK 5
|
||||
#define PAT_WSTRING 4
|
||||
#define PAT_GUID 5
|
||||
#define PAT_CALLBACK 6
|
||||
|
||||
// Input/Output Source/Destination
|
||||
#define IOT_NONE 0
|
||||
|
@ -58,6 +60,7 @@ typedef struct
|
|||
int Size; // Value real size (should be either 1 or 2 (the number of pushes))
|
||||
int Input;
|
||||
int Output;
|
||||
HGLOBAL allocatedBlock; // block allocated for passing string, wstring or guid param
|
||||
} ProcParameter;
|
||||
|
||||
// Our single proc (Since the user will free proc with GlobalFree,
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 7.00
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "System", "System.vcproj", "{2FB013AB-6FD4-4239-9974-C999F4DFD70C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
ConfigName.0 = Debug
|
||||
ConfigName.1 = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectDependencies) = postSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{2FB013AB-6FD4-4239-9974-C999F4DFD70C}.Debug.ActiveCfg = Debug|Win32
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding = "windows-1251"?>
|
||||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.00"
|
||||
Version="7.10"
|
||||
Name="System"
|
||||
ProjectGUID="{2FB013AB-6FD4-4239-9974-C999F4DFD70C}"
|
||||
Keyword="Win32Proj">
|
||||
|
@ -19,7 +19,7 @@
|
|||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEM_EXPORTS"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SYSTEM_EXPORTS;SYSTEM_LOG_DEBUG"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
|
@ -33,7 +33,7 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="kernel32.lib user32.lib RunTmChk.lib libcd.lib"
|
||||
OutputFile="$(OutDir)/System.dll"
|
||||
OutputFile="d:\Program FIles\NSIS\Plugins\System.dll"
|
||||
LinkIncremental="2"
|
||||
IgnoreAllDefaultLibraries="TRUE"
|
||||
GenerateDebugInformation="TRUE"
|
||||
|
@ -53,15 +53,22 @@
|
|||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="2">
|
||||
CharacterSet="2"
|
||||
WholeProgramOptimization="FALSE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="1"
|
||||
|
@ -71,20 +78,23 @@
|
|||
OmitFramePointers="TRUE"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SYSTEM_EXPORTS"
|
||||
StringPooling="TRUE"
|
||||
ExceptionHandling="FALSE"
|
||||
RuntimeLibrary="4"
|
||||
StructMemberAlignment="0"
|
||||
BufferSecurityCheck="FALSE"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
UsePrecompiledHeader="3"
|
||||
AssemblerOutput="2"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
DebugInformationFormat="3"
|
||||
CompileAs="1"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="kernel32.lib user32.lib vc7ldvrm.obj vc7lmul.obj vc7lshl.obj vc7lshr.obj chkstk.obj"
|
||||
OutputFile="$(OutDir)/System.dll"
|
||||
AdditionalDependencies="kernel32.lib user32.lib vc7ldvrm.obj vc7lmul.obj vc7lshl.obj vc7lshr.obj chkstk.obj"
|
||||
OutputFile="d:\Program FIles\NSIS\Plugins\System.dll"
|
||||
LinkIncremental="1"
|
||||
IgnoreAllDefaultLibraries="TRUE"
|
||||
GenerateDebugInformation="FALSE"
|
||||
|
@ -108,10 +118,18 @@
|
|||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
|
@ -130,9 +148,6 @@
|
|||
<File
|
||||
RelativePath="Plugin.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="System.c">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="stdafx.c">
|
||||
<FileConfiguration
|
||||
|
@ -148,6 +163,15 @@
|
|||
UsePrecompiledHeader="1"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="System.c">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
ExpandAttributedSource="TRUE"/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
|
@ -159,10 +183,10 @@
|
|||
RelativePath="Plugin.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="System.h">
|
||||
RelativePath="stdafx.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="stdafx.h">
|
||||
RelativePath="System.h">
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
|
|
|
@ -93,6 +93,10 @@
|
|||
; HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop);
|
||||
!define sysBitBlt "gdi32::BitBlt(i, i, i, i, i, i, i, i, i) i"
|
||||
|
||||
; proposed by abgandar
|
||||
; int AddFontResource(LPCTSTR lpszFilename);
|
||||
!define sysAddFontResource "gdi32::AddFontResourceA(t) i"
|
||||
|
||||
; HDC BeginPaint(HWND hwnd, LPPAINTSTRUCT lpPaint);
|
||||
!define sysBeginPaint "user32::BeginPaint(i, i) i"
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ to the people living there, they'll always help you.
|
|||
By the way, any help in writing complete and easy-to-go System plugin
|
||||
documentation will be appreciated.
|
||||
|
||||
Note: it will be best to turn plugin onload off in case of using System
|
||||
Note: it will be best to turn plugin unload off in case of using System
|
||||
plugin (SetPluginUnload alwaysoff).
|
||||
|
||||
============== Main functions ==============
|
||||
|
@ -78,6 +78,9 @@ Proc:
|
|||
::addr -> Handle to system proc (memory address)
|
||||
*addr -> Structure
|
||||
* -> New structure
|
||||
IPtr->MemberIdx -> Call member with member index from interface given
|
||||
by interface pointer IPtr (IPtr will be passed to
|
||||
proc automatically, use like C++ call).
|
||||
nothing -> Dup proc, usually callback or for future defenition
|
||||
|
||||
proc -> Ready proc specification for use or redefinition
|
||||
|
@ -109,8 +112,8 @@ Params & Return - Type:
|
|||
i - int (includes char, byte, short, handles, pointers and so on)
|
||||
l - long & large integer (know as int64)
|
||||
t - text, string (LPCSTR, pointer to first character)
|
||||
b - boolean (needs/returns 'true':'false') - by the fact this type is
|
||||
senseless -> usual integer can be used ('0':'1')
|
||||
w - WCHAR text, or unicode string.
|
||||
g - GUID
|
||||
k - callback. See Callback section.
|
||||
|
||||
* - pointer specifier -> the proc needs the pointer to type, affects
|
||||
|
@ -124,7 +127,10 @@ For structures:
|
|||
&i - smaller types: &i4, &i2 (short), &i1 (byte)
|
||||
&l - cumbersome, but &lN means the structure size (N bytes value),
|
||||
calculated automaticaly, outputed always as int (N could be 0).
|
||||
&t - structure contains plain text, &tN - lenght == N bytes.
|
||||
&t - structure contains plain text, &tN, where lenght == N bytes.
|
||||
&w - structure contains plain unicode text, &tN,
|
||||
where lenght == (N)/2 chars = N bytes.
|
||||
&g - &gN copy N bytes of plain GUID. in fact guid size is 16 :)
|
||||
|
||||
----------------------------------
|
||||
Params & Return - Source / Destination:
|
||||
|
|
|
@ -2,35 +2,27 @@
|
|||
// Microsoft Developer Studio generated include file.
|
||||
// Used by resource.rc
|
||||
//
|
||||
#ifndef DS_SHELLFONT
|
||||
#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS)
|
||||
#endif
|
||||
|
||||
#define IDC_BACK 3
|
||||
#define IDD_DIALOG1 101
|
||||
#define IDI_ICON1 102
|
||||
#define IDD_DIALOG2 102
|
||||
#define IDD_LICENSE 102
|
||||
#define IDD_LICENSE_FSRB 108
|
||||
#define IDD_LICENSE_FSCB 109
|
||||
#define IDI_ICON2 103
|
||||
#define IDD_DIR 103
|
||||
#define IDD_SELCOM 104
|
||||
#define IDD_INST 105
|
||||
#define IDD_INSTFILES 106
|
||||
#define IDD_UNINST 107
|
||||
#define IDB_BITMAP1 109
|
||||
#define IDB_BITMAP2 110
|
||||
#define IDI_ICON3 110
|
||||
#define IDD_VERIFY 111
|
||||
#define IDB_BITMAP3 111
|
||||
#define IDB_BITMAP1 110
|
||||
#define IDC_EDIT1 1000
|
||||
#define IDC_BROWSE 1001
|
||||
#define IDC_COPYRIGHT 1003
|
||||
#define IDC_PROGRESS 1004
|
||||
#define IDC_INTROTEXT 1006
|
||||
#define IDC_WMA 1007
|
||||
#define IDC_CHECK1 1008
|
||||
#define IDC_MJF 1008
|
||||
#define IDC_VERSION 1009
|
||||
#define IDC_EDIT2 1010
|
||||
#define IDC_DIRCAPTION 1011
|
||||
#define IDC_STATUSTEXT 1014
|
||||
#define IDC_LICTEXT 1015
|
||||
#define IDC_LIST1 1016
|
||||
#define IDC_COMBO1 1017
|
||||
#define IDC_CHILDRECT 1018
|
||||
|
@ -40,9 +32,6 @@
|
|||
#define IDC_TEXT2 1022
|
||||
#define IDC_SPACEREQUIRED 1023
|
||||
#define IDC_SPACEAVAILABLE 1024
|
||||
#define IDC_INSTVER 1024
|
||||
#define IDC_UNINSTTEXT 1025
|
||||
#define IDC_PROGRESSTEXT 1026
|
||||
#define IDC_SHOWDETAILS 1027
|
||||
#define IDC_VERSTR 1028
|
||||
#define IDC_UNINSTFROM 1029
|
||||
|
@ -50,6 +39,8 @@
|
|||
#define IDC_ULICON 1031
|
||||
#define IDC_TREE1 1032
|
||||
#define IDC_BRANDIMAGE 1033
|
||||
#define IDC_LICENSEAGREE 1034
|
||||
#define IDC_LICENSEDISAGREE 1035
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
|
@ -57,7 +48,9 @@
|
|||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 112
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1034
|
||||
#define _APS_NEXT_CONTROL_VALUE 1036
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
@ -25,92 +25,156 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|||
// Dialog
|
||||
//
|
||||
|
||||
IDD_LICENSE DIALOGEX DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_LICENSE DIALOGEX 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,22,20
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,23
|
||||
CONTROL "",IDC_EDIT1,"RichEdit20A",WS_BORDER | WS_VSCROLL |
|
||||
0x804,0,24,266,105
|
||||
END
|
||||
|
||||
IDD_DIR DIALOGEX DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD
|
||||
IDD_LICENSE_FSRB DIALOG DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_CAPTION
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_ICON2,1031,0,0,22,20
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,23
|
||||
CONTROL "",IDC_EDIT1,"RichEdit20A",WS_BORDER | WS_VSCROLL |
|
||||
0x804,0,24,266,85
|
||||
CONTROL "",IDC_LICENSEDISAGREE,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_TABSTOP,0,120,266,9
|
||||
CONTROL "",IDC_LICENSEAGREE,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_TABSTOP,0,110,266,9
|
||||
END
|
||||
|
||||
IDD_LICENSE_FSCB DIALOG DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_CAPTION
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
ICON IDI_ICON2,1031,0,0,22,20
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,23
|
||||
CONTROL "",IDC_EDIT1,"RichEdit20A",WS_BORDER | WS_VSCROLL |
|
||||
0x804,0,24,266,95
|
||||
CONTROL "",IDC_LICENSEAGREE,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,0,120,266,9
|
||||
END
|
||||
|
||||
IDD_DIR DIALOGEX 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
EDITTEXT IDC_DIR,8,49,187,12,ES_AUTOHSCROLL
|
||||
PUSHBUTTON "",IDC_BROWSE,202,48,55,14
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
CONTROL "",IDC_SELDIRTEXT,"Static",SS_LEFTNOWORDWRAP,
|
||||
0,36,265,8
|
||||
CONTROL "",IDC_SPACEAVAILABLE,"Static",SS_LEFTNOWORDWRAP,0,122,265,8
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,22,20
|
||||
|
||||
CONTROL "",IDC_SPACEAVAILABLE,"Static",SS_LEFTNOWORDWRAP,0,122,
|
||||
265,8
|
||||
CONTROL "",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE |
|
||||
WS_TABSTOP,8,65,118,10
|
||||
CONTROL "",IDC_SPACEREQUIRED,"Static",SS_LEFTNOWORDWRAP,0,111,265,8
|
||||
WS_TABSTOP,8,71,118,10
|
||||
CONTROL "",IDC_SPACEREQUIRED,"Static",SS_LEFTNOWORDWRAP,0,111,
|
||||
265,8
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,34
|
||||
GROUPBOX "",IDC_SELDIRTEXT,1,38,264,30
|
||||
END
|
||||
|
||||
IDD_SELCOM DIALOGEX DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_SELCOM DIALOGEX 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
COMBOBOX IDC_COMBO1,114,25,152,102,CBS_DROPDOWNLIST | WS_VSCROLL |
|
||||
WS_TABSTOP | NOT WS_VISIBLE
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,21,20
|
||||
COMBOBOX IDC_COMBO1,114,25,152,102,CBS_DROPDOWNLIST | NOT
|
||||
WS_VISIBLE | WS_VSCROLL | WS_TABSTOP
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,22,20
|
||||
LTEXT "",IDC_TEXT2,0,40,108,65
|
||||
CONTROL "",IDC_TEXT1,"Static",SS_LEFTNOWORDWRAP,0,27,108,8
|
||||
CONTROL "",IDC_SPACEREQUIRED,"Static",SS_LEFTNOWORDWRAP,0,111,111,8
|
||||
LTEXT "",IDC_SPACEREQUIRED,0,111,111,18,NOT WS_GROUP
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,25
|
||||
CONTROL "",IDC_TREE1,"SysTreeView32",TVS_HASBUTTONS |
|
||||
TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP |
|
||||
WS_BORDER | WS_TABSTOP,114,39,151,90
|
||||
END
|
||||
|
||||
IDD_INST DIALOGEX DISCARDABLE 0, 0, 280, 162
|
||||
STYLE DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX | WS_BORDER
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_INST DIALOGEX 0, 0, 280, 162
|
||||
STYLE DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION |
|
||||
WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
PUSHBUTTON "",IDC_BACK,171,142,50,14,WS_GROUP | NOT WS_VISIBLE
|
||||
PUSHBUTTON "",IDC_BACK,171,142,50,14,NOT WS_VISIBLE | WS_GROUP
|
||||
PUSHBUTTON "",IDOK,223,142,50,14
|
||||
PUSHBUTTON "",IDCANCEL,7,142,50,14
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ | WS_GROUP,7,138,267,1
|
||||
CONTROL "",IDC_CHILDRECT,"Static",SS_BLACKRECT | NOT WS_VISIBLE | WS_GROUP,
|
||||
7,6,266,130
|
||||
CTEXT "",IDC_VERSTR,59,145,108,8,WS_DISABLED | WS_GROUP
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDHORZ | WS_GROUP,7,138,
|
||||
267,1
|
||||
CONTROL "",IDC_CHILDRECT,"Static",SS_BLACKRECT | NOT WS_VISIBLE |
|
||||
WS_GROUP,7,6,266,130
|
||||
CTEXT "",IDC_VERSTR,59,145,108,8,WS_DISABLED
|
||||
END
|
||||
|
||||
IDD_INSTFILES DIALOGEX DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_INSTFILES DIALOGEX 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,24,10,241,11
|
||||
CONTROL "",IDC_INTROTEXT,"Static",SS_LEFTNOWORDWRAP,
|
||||
24,0,241,8
|
||||
CONTROL "",IDC_PROGRESS,"msctls_progress32",WS_BORDER,24,10,241,
|
||||
11
|
||||
CONTROL "",IDC_INTROTEXT,"Static",SS_LEFTNOWORDWRAP,24,0,241,8
|
||||
CONTROL "",IDC_LIST1,"SysListView32",LVS_REPORT | LVS_SINGLESEL |
|
||||
LVS_NOCOLUMNHEADER | NOT WS_VISIBLE | WS_BORDER |
|
||||
WS_TABSTOP,0,25,265,104
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,20,20
|
||||
ICON IDI_ICON2,IDC_ULICON,0,0,22,20
|
||||
PUSHBUTTON "",IDC_SHOWDETAILS,0,28,60,14,NOT WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_UNINST DIALOGEX DISCARDABLE 0, 0, 266, 130
|
||||
STYLE DS_CONTROL | DS_SHELLFONT | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_UNINST DIALOGEX 0, 0, 266, 130
|
||||
STYLE DS_FIXEDSYS | DS_CONTROL | WS_CHILD
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON IDI_ICON2,IDC_ULICON,0,1,20,20
|
||||
ICON IDI_ICON2,IDC_ULICON,0,1,22,20
|
||||
LTEXT "",IDC_UNINSTFROM,0,45,55,8
|
||||
EDITTEXT IDC_EDIT1,56,43,209,12,ES_AUTOHSCROLL | ES_READONLY
|
||||
LTEXT "",IDC_INTROTEXT,25,0,241,34
|
||||
END
|
||||
|
||||
IDD_VERIFY DIALOGEX DISCARDABLE 0, 0, 162, 22
|
||||
STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE
|
||||
FONT 8, "MS Shell Dlg"
|
||||
IDD_VERIFY DIALOGEX 0, 0, 162, 22
|
||||
STYLE DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
CTEXT "",IDC_STR,7,7,148,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
"IDD_INST$(NSIS_CONFIG_VISIBLE_SUPPORT)", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 273
|
||||
TOPMARGIN, 6
|
||||
BOTTOMMARGIN, 156
|
||||
END
|
||||
|
||||
"IDD_INSTFILES$(NSIS_CONFIG_VISIBLE_SUPPORT)", DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 246
|
||||
BOTTOMMARGIN, 125
|
||||
END
|
||||
|
||||
"IDD_VERIFY$(_NSIS_CONFIG_VERIFYDIALOG)", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 155
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 15
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
@ -125,6 +189,7 @@ END
|
|||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"#include ""config.h""\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
|
@ -134,4 +199,7 @@ END
|
|||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue