Přeci jenom bych si chtěl něco naprogramovat, něco co bych využil, jak již řekl m->29. Nic mě ale nenapadá, nemáte nějaké tipy ?
Děkuji
Přeci jenom bych si chtěl něco naprogramovat, něco co bych využil, jak již řekl m->29. Nic mě ale nenapadá, nemáte nějaké tipy ?
Děkuji
Ok, děkuji vám všem.
Určitě se na vámi doporučená témata podívám, a případné další dotazy budu směřovat sem.
Programy jako takové aktuálně nemám, vždy si naprogramuju to co chci a pak to smažu, nebo to není publikovatelné :D . Zatím jsem nenašel uplatnění někde na veřejnosti, takzvaně nidky jsem ještě nedělal program pro někoho. Neměl jsem tu příležitost.
Pokuď byste mi dal nějaké zadání, rád se pokusím podle něj naprogramovat program podle vašich představ.
V minulosti jsem udělal již několik programů, jako například Fake Logger pro Skype. Program jsem udělal před rokem, zdrojový kód programu už neexistuje, ale zachoval jsem video, které jsem uploadnul na youtube.com.
http://www.youtube.com/watch?…
Na videu je ukázka porovnání dvou oken, reakce různých dětských oken a položek menu mezi pravým a takzvaně Fake oknem. Po "přihlášení" přes Fake Logger se uživatelské jméno a heslo uloží do registrů a do souboru, kde si je lze později přečíst. Poté vyhodí chybovou hlášku a ukončí program. Při dělání tohoto programu (v mých 13 letech) jsem neměl tolik zkušeností jako teď, takže nyní si troufám říct, že bych program udělal na lepší úrovni. Asi bych se naboural rovnou do procedury okna, a heslo a uživatelské jméno bych si poslal pšes Email.
Co se týče vzhedu mých aplikací, jsem odázán na dětská okna typu "Static", kam nahraji obrázek. Nějaké ukázky mé práce z grafiky ? Mám tu několik odkazů na animované texty a obrázky, které jsem dělal nedávno. Zde máte něco z mé tvorby.
http://hunters-space.ucoz.com/…97061933.gif
http://hunters-space.ucoz.com/…04835212.gif
http://hunters-space.ucoz.com/…83768202.gif
http://hunters-space.ucoz.com/…78331503.gif
Bohužel tyto GIF obrázky neumím nahrát do mých programů, myslím že by se to dalo udělat nějak přes Active Control, ale nějak sem se tím nezabýval.
Udělal jsem pár programů, které využívají TCP/IP připojení. Jeden, který posílá Fake Emaily přes smtp.seznam.cz, na principu nahrazování hlaviček (From, To, Date, Subject, Priority), a druhý, který komunikuje se serverem (též můj program na bázi TCP/IP) v síti LAN. Posílám tak z mého PC 1 příkazy do PC 2. Zprovoznil jsem si všechny příkazy, co jsou v CMD, dále pak např. příkaz "user", kdy my PC2 odešle informace o prihlášeném uživately, a další příkazy tohoto nebo podobného typu. Mezi další mé programy na bázi TCP/IP je program, který mi po přihlášení a odhlášení uživatele odešle email, s informacemi typu názvu uživatele, času přihlášení/odhlášení a ID [což je time_t ID = time(NULL)], pomocí tohoto ID je možné otevřít databázi těchto informací. Jedná se o soubor, který otevřu pomocí klávesové zkratky Ctrl+Alt+P, tuto klávesovou zkratku zachytává samotný program.
Udělal jsem i takové malé instalace na hry. Všechny soubory, které se mi nainstalují z původní instalace hry, si zabalím do DLL souborů (.ZIP a .RAR soubory neumím). Uživatele provedu různým nastavením instalace, tím myslím například výsledný adresář, a poté mu zobrazím dialogové okno, kde se nachází mimo jiné i ProgressBar, na němž zobrazuji postup instalace. V dialogovém okně se nachází i Static Window, ve kterém se zobrazují screenshoty ze hry. Screen se vžy změní po určitém čase nebo když se progress bar dostane na nějakou pozici.
Myslím, že na můj věk toho oládám v celku dost, ale otázka je co stím :/.
Dobrý den,
chtěl bych se s vámi poradit, co bych se v C++ mohl naučit dál, něco co by bylo zajímavé, ale zárověn i použitelné.
Nyní ve svých 14 letech již ovládám C++, Win32 API, TCP/IP, načítání zdrojů z DLL, něco málo se Static Library. Grafiku ovládám také na slušné úrovni, takže vzhed mích programů, není úplně k zahození.
Nad otázkou, co jsem vám zde položil, jsem přemýšlel také, a našel jsem nějaké věci, o kterých si myslím, že by mohly být zajímavé a použitelné.
Rád bych se naučil něco víc o DLL a o Static Library, dále pak FTP a určitě bych se rád podíval také na MFC, ale o ničem další nevím.
Mohli byste mi prosím poradit, odkázat, na nějaké články, nebo mi ukázat cestu kudy dál ?
Děkuji
Dobrý den,
potřeboval bych ve své Win32 Aplikaci ve Windows vytvořit okno, do kterého lze načíst HTML nebo XML soubor.
Nejedná se o to, aby se do okna načetla textová podoba, ale podoba výsledná, takzvaně jako v prohlížeči.
Je něco takového možné ?
Děkuji
Ano, toto je přesně to co potřebuji !
Děkuji za pomoc
Dobrý den,
udělal jsem si program, který mi odešle email po přihlášení uživatele. Email obsahuje jméno uživatele a počítače, a čas přihlášení. Po odeslání těchto informací je uloži do souboru, kde je lze zpětně dohledat.
Syntaxe emailu:
Uživatel %UŽIVATELSKÉ JMÉNO% se přihlásil na PC %PC NAME% ve %ČAS PŘIHLÁŠENÍ%.
Chtěl bych svůj program vylepšit tak, aby před vypnutím PC/odhlášením uživatele odeslal/uložil hlášení o odhlášení uživatele.
Bohužel nevím jak na to. Pravděpodbně by se vše řešilo nějak přes proceduru okna, která by zachytila zprávu. Tuto zprávu neznám.
Poradí někdo ?
Děkuji
Ano, jedná se o čisté Win32 API.
Něco jsem splácal jako příklad mého problému.
Dialog spadne při tvorbě. Procedura dialogu už nezachytí zprávu
case WM_INITDIALOG:
....
A pokud nastavím dialogu parametr, aby se zobrazil i při chybě (No Fail Create), zobrazí se/vytvoří se všechna okna v dialogu až na MFC.
Dobrý den,
chtěl bych ve svém dialogovém okně použít nějáké prvky MFC, jako například MfcLink (Hyper textový odkaz). Dialogové okno spadne. Používám Visual Studio Pro 2010 a "jeho" nástroj pro tvorbu zdrojů (tedy i dialogových oken).
Děkuji
Jo, to bude ono. Díky
Nechápu... :smile19:
Pokud reaguješ na
tak sem to myslel jako např. pokud uživatel zadá třeba "help" tak mu to vypíše všechny možnosti příkazů.naprogramovat jí vlastní příkazy,výstupy,velikost,barvu...
Ahoj,
jak mohu vytvořit svojí vlastní konzoli v mém okně (Win32 Api), naprogramovat jí vlastní příkazy,výstupy,velikost,barvu...?
Díky
To nervak :
http://www.builder.cz/art/cpp/find_file.html?fshow=54701
Celkem to tak nějak chápu, ale nevím co po mě vlastně joDik chce.
JoDiK napsal:
To Míra :
Říkal jsem "možná bude chtít poladit...".
Šak se pořádně koukni, co dělá to PridejZeSlozky. Programování není slepení nějakých programů napsaných někým jiným, je třeba tomu trochu rozumět...
Správně by to mělo dostat název složky a specifikaci souborů a přidávat položky z té zadané složky do seznamu. Jenže u tebe to zkoumá jen tu konkrétní jednu složku, takže jak ju zavoláš rekurzivně, začne zase od začátku...
Takže uprav celou proceduru PridejZeSlozky tak, aby přidávala do seznamu z parametrem předané složky .
Třeba tohle v ní rozhodopádně nemože byt (to zařiď v nějaké hlavní proceduře, ze které teprve zavoláš PridejZeSlozky):
TCHAR szSoubor[MAX_PATH];
StrCpy(szSoubor, lpSlozka);
StrCat(szSoubor, _T("\*.*"));
HWND hListBox = GetDlgItem(hWnd, IDC_LISTBOX);
// Nejprve odstraníme případné staré položky ListBoxu
if (smazat == true)
SendMessage(hListBox, LB_RESETCONTENT, 0, 0);
WIN32_FIND_DATA wfd;
ZeroMemory(&wfd, sizeof(wfd));
:smile19: No, nějak jsem to nepochopil... funkci jsem upravil takhle:
char* JmenoSlozky(LPWIN32_FIND_DATA lpWFD)
{
char szText[MAX_PATH+60];
sprintf(szText, "%s", lpWFD->cFileName);
return szText;
}
void PridejZeSlozky(HWND hWnd, LPTSTR lpSlozka)
{
// Nalezneme 1. objekt
HANDLE hFind = FindFirstFile(szSoubor, &wfd);
if ( hFind == INVALID_HANDLE_VALUE )
return;
// Vyloučit složky
if ( !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
PridejSoubor(&wfd);
else
{
sprintf(buf_temp, "%s%s",lpSlozka,JmenoSlozky(&wfd)); // Zjistím název složky na kterou jsem narazil
MessageBox(hWnd, buf_temp, NULL, 0); // Zobrazí se mi do MessageBoxu
PridejZeSlozky(hWnd,buf_temp); // Checkne to tu složku na kterou jsem narazil
}
// Procházíme všemi objekty ve složce
while ( FindNextFile(hFind, &wfd) )
{
if ( !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
PridejSoubor(&wfd);
}
// Zavřít handle vyhledávání
FindClose(hFind);
}
Funkci jsem upravil, tak aby nemazala obsah listboxu atd. ale vždy to zamrzne, vidím to na nekonečnou smyčku.
void PridejZeSlozky(HWND hWnd, LPTSTR lpSlozka, bool smazat)
{
TCHAR szSoubor[MAX_PATH];
StrCpy(szSoubor, lpSlozka);
StrCat(szSoubor, _T("\\*.*"));
HWND hListBox = GetDlgItem(hWnd, IDC_LISTBOX);
// Nejprve odstraníme případné staré položky ListBoxu
if (smazat == true)
SendMessage(hListBox, LB_RESETCONTENT, 0, 0);
WIN32_FIND_DATA wfd;
ZeroMemory(&wfd, sizeof(wfd));
// Nalezneme 1. objekt
HANDLE hFind = FindFirstFile(szSoubor, &wfd);
if ( hFind == INVALID_HANDLE_VALUE )
return;
// Vyloučit složky
if ( !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
PridejSoubor(hListBox, &wfd);
else
{
char buffer[5000];
sprintf(buffer, "%s\\%s", lpSlozka,PridejSlozku(hListBox, &wfd));
PridejZeSlozky(hWnd, buffer, false);
}
// Procházíme všemi objekty ve složce
while ( FindNextFile(hFind, &wfd) )
{
if ( !(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
PridejSoubor(hListBox, &wfd);
else
{
char buffer[5000];
sprintf(buffer, "%s\\%s", lpSlozka,PridejSlozku(hListBox, &wfd));
PridejZeSlozky(hWnd, buffer, false);
}
}
// Zavřít handle vyhledávání
FindClose(hFind);
}
LPTSTR PridejSlozku(HWND hListBox, LPWIN32_FIND_DATA lpWFD)
{
TCHAR szText[MAX_PATH+60];
TCHAR szVelikost[25];
TCHAR szCas[25];
FILETIME fileTime;
SYSTEMTIME sysTime;
StrCpy(szText, lpWFD->cFileName);
StrFormatByteSizeA(lpWFD->nFileSizeLow, szVelikost, sizeof(szVelikost));
FileTimeToLocalFileTime(&lpWFD->ftLastAccessTime, &fileTime);
FileTimeToSystemTime(&fileTime, &sysTime);
return szText;
}
Ahoj, chci udělat program co vypíše všechny soubory ve složce (C:\example),zjistí jejich název,velikost,celý patch. To není problém, umím takdy vypsat všechny složky z (C:\example), ale můj program neumí podsložky, což je pro mě nutné.
Pro naučení se výpisu souborů a složek jsem použil tento článek ( http://www.builder.cz/art/cpp/find_file.html ), bohužel se autor nezmínil o podsložkách.
Rád bych (pokud by to šlo) tak nějak zachoval syntaxi (postup, princip, funkce) toho článku. Jak na to ?
EDIT:
*Nějaký článek jak je využívat atd.
Ahoj, chtěl bych se naučit něco o DLL.
Nějaký článek jak se využívat atd. Hlavě se mi jedná o to že si třeba do dll uložím ikonu / bitmapu / soubor a ten pak pomocí c++ načtu nebo něco takového.
Bylo by to možné?
Děkuji
Díky, sice to není úplně spolehlivé ale aspoň něco.
Ahoj, je nějaký způsob jak ověřit správnou syntaxi emailu? (né to zdali email existuje, ale jen jestly má správný formát)
Př. Pokud zadám "example@server.cz" tak mi to vrátí true a pokud napíšu "ahoj@s" tak mi to vhodí false;
Existuje něco takového ?
V tom to asi nebude. I když zadám příkaz "at 20:00 shutdown -s -f -t 20 > C:\file.txt" rovnou do cmd, dělá to to samé. Stačil by mi výstup i v EN, ale to nastavit neumím :smile11: .
Ahoj
mám problém. Potřebeji přes můj program "getnout" výstup CMD.
Př.
command: at 20:00 shutdown -s
výstup: Byla přidána nová úloha ID: 1
Zkoušel jsem to takto:
command: at 20:00 shutdown -s > C:\file.txt
Bohužel výstup v souboru nezobrazuje (nebo zobrazuje špatně) diakritiku.
Děkuju
Na ten Base64 se podívám jindy. Na netu jsem našel nějaku funkci co to přelouská tam i zpět. Jetše bych potřeboval vědět jak nastavit zprávě předmět a od koho je. Vždy mi totiž přijde je email od nikoho (text zpravy obsahuje).
Na netu jsem našel že by se to údajně mělo dělat takhle, bohužel se mi vše zobrazí v těle zprávy.
sprintf(buf, "DATA\r\n");
size = send(mainSocket,buf, strlen(buf), 0);
cout << "Odeslany prikaz: " << buf << "\n";
sprintf(buf, "Subject: Predmet zpravy\r\n");
size = send(mainSocket,buf, strlen(buf), 0);
cout << "Odeslany prikaz: " << buf << "\n";
Jo, už to funguje. Děkuji moc.
Ještě chyb potřeboval vystětlit ten base 64. Jak se do něj / z něj převádí určitý text.
Už je to lepší, teď mi hlásí že nejsem authenticated. Nějak se mu pokouším odeslat přihlašovací údaje, ale neznám syntaxi toho příkazu. V základech neni.
// Odesílám prihlasovaci jmeno
sprintf(buf, "USERNAME:<jag.mv2@seznam.cz>\r\n");
size = send(mainSocket,buf, strlen(buf), 0);
cout << "Odeslany prikaz: " << buf << "\n";
// Příjem odpovedi serveru
size = recv(mainSocket, buf, BUFSIZE,0);
buf[size] = '\0';
cout << "3# Odpoved serveru: " << buf << "\n";
// Odesílám prihlasovaci heslo
sprintf(buf, "PASS:<123456>\r\n");
size = send(mainSocket,buf, strlen(buf), 0);
cout << "Odeslany prikaz: " << buf << "\n";
// Příjem odpovedi serveru
size = recv(mainSocket, buf, BUFSIZE,0);
buf[size] = '\0';
cout << "3# Odpoved serveru: " << buf << "\n";
Tady to je:
...includes...
#define TCP_PORT "25"
int main()
{
WORD wVersionRequested = MAKEWORD(2,2); // Verze WinSock
WSADATA data;
SOCKET mainSocket;
struct hostent *host;
struct addrinfo *addrInfo, *addrTemp;
int error, pocet_adres = 0, size;
char **temp, port[500], *ip4Text, ip4Text_app[INET_ADDRSTRLEN], ip6Text_app[INET6_ADDRSTRLEN], buf[BUFSIZE], msg[BUFSIZE], DN[BUFSIZE], *ipText_app, message[BUFSIZE];
unsigned int ipTextLen;
void *binAddress = NULL;
// Naplnění struktury WSADATA (data)
if (WSAStartup(wVersionRequested, &data) != 0)
{
error = WSAGetLastError();
sprintf(msg, "Chyba při inicializování struktury WSADATA!\nČislo chyby: %i\nPopis chyby: %s",error, LastErr(error));
MessageBox(NULL, msg , NULL, MB_ICONERROR);
return -1;
}
sprintf(DN, "smtp.seznam.cz");
system("cls");
// Naplnění struktury hostent
if ((host = gethostbyname(DN)) == NULL)
{
error = WSAGetLastError();
sprintf(msg, "Server nenalezen! (host)\nČislo chyby: %i\nPopis chyby: %s",error, LastErr(error));
MessageBox(NULL, msg , NULL, MB_ICONERROR);
return -1;
}
// Naplnění struktury addrInfo
if (getaddrinfo(DN, TCP_PORT, NULL, &addrInfo) != 0)
{
error = WSAGetLastError();
sprintf(msg, "Server nenalezen! (addrInfo)\nČislo chyby: %i\nPopis chyby: %s",error, LastErr(error));
MessageBox(NULL, msg , NULL, MB_ICONERROR);
return -1;
}
// Informace o serveru
cout << "\nInformace o serveru\n";
cout << "Oficialni nazev: " << host->h_name << endl;
cout << "Alternativy: \n";
temp = host->h_aliases;
while (*temp != NULL)
{
printf("%s\n", *(temp++));
}
cout << "Adresy:\n";
temp = host->h_addr_list;
while (*temp != NULL)
{
ip4Text = (char*)inet_ntoa(*(struct in_addr*)*temp++);
if (ip4Text == NULL)
{
error = WSAGetLastError();
sprintf(msg, "Chyba při načítání IP adresy!\nČislo chyby: %i\nPopis chyby: %s",error, LastErr(error));
MessageBox(NULL, msg , NULL, MB_ICONERROR);
return -1;
}
cout << "\t"<< ip4Text << endl;
pocet_adres++;
}
cout << "Pocet adres: " << pocet_adres << "\n";
cout << "Velikost jedne adresy: " << host->h_length << " bajtu\n";
cout << "Velikost vsech adres : " << host->h_length * pocet_adres << " bajtu\n";
cout << "Verze IP: ";
addrTemp = addrInfo;
switch (addrTemp->ai_family)
{
case AF_INET:
cout << "IPv4\n";
break;
case AF_INET6:
cout << "IPv6\n";
break;
default:
cout << "Nezname - Identifikator: " << addrTemp->ai_family << "(Error: " << WSAGetLastError << ")\n";
break;
}
cout << "Verze protokolu: ";
switch (addrTemp->ai_protocol)
{
case IPPROTO_TCP:
cout << "TCP/IP\n";
break;
case IPPROTO_UDP:
cout << "UDP\n";
break;
case 113:
cout << "RM\n";
break;
case 0:
cout << "Nezname\n";
break;
default:
cout << "Nezname - Identifikator: " << addrTemp->ai_protocol << "(Error: " << WSAGetLastError << ")\n";
break;
}
cout << "Press any key to connect...";
getche();
// Tvorba TCP/IP soketu
if ((mainSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)
{
error = WSAGetLastError();
sprintf(msg, "Chyba pri tvorby soketu!\nČislo chyby: %i\nPopis chyby: %s",error, LastErr(error));
MessageBox(NULL, msg , NULL, MB_ICONERROR);
closesocket(mainSocket);
WSACleanup();
return -1;
}
// Připojování k serveru
if (connect(mainSocket, addrInfo->ai_addr, addrInfo->ai_addrlen) == SOCKET_ERROR)
{
error = WSAGetLastError();
sprintf(msg, "Chyba při připojování k serveru!\nČislo chyby: %i\nPopis chyby: %s\nInfo:\nAdresa: %s\nPort: %s",error, LastErr(error), DN, TCP_PORT);
MessageBox(NULL, msg , NULL, MB_ICONERROR);
closesocket(mainSocket);
WSACleanup();
return -1;
}
else
{
cout << "Pripojeno...\n";
}
// Odesílání a přijímání dat
system("cls");
cout << "Spojeni bylo navazano!\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "1# Odpoved serveru: " << buf << "\n";
// Odeslání
sprintf(buf, "HELO jag.mv2.seznam.cz");
size = send(mainSocket,buf, BUFSIZE + 1, 0);
cout << "2# Odeslany prikaz: " << buf << "\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "3# Odpoved serveru: " << buf << "\n";
// Odeslání
sprintf(buf, "MAIL FROM:<jag.mv2@seznam.cz>");
size = send(mainSocket,buf, BUFSIZE + 1, 0);
cout << "4# Odeslany prikaz: " << buf << "\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "5# Odpoved serveru: " << buf << "\n";
// Odeslání
sprintf(buf, "RCPT TO: <jag.mv@seznam.cz>");
size = send(mainSocket,buf, BUFSIZE + 1, 0);
cout << "6# Odeslany prikaz: " << buf << "\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "7# Odpoved serveru: " << buf << "\n";
// Odeslání
sprintf(buf, "Pokusna zprava");
size = send(mainSocket,buf, BUFSIZE + 1, 0);
cout << "8# Odeslany prikaz: " << buf << "\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "9# Odpoved serveru: " << buf << "\n";
// Odeslání
sprintf(buf, "QUIT");
size = send(mainSocket,buf, BUFSIZE + 1, 0);
cout << "10# Odeslany prikaz: " << buf << "\n";
// Příjem
size = recv(mainSocket, buf, BUFSIZE ,0);
buf[size] = '\0';
cout << "11# Odpoved serveru: " << buf << "\n";
cout << "\nQ = Quit\n";
buf[999] = getche();
cout << "\n";
//Vyčištění struktury WSADATA
closesocket(mainSocket);
WSACleanup();
system("pause");
return 0;
}
Takže je chyba v emailu ? :smile11:
nervak napsal:
MAIL FROM: <jag.mv2@seznam.cz>
Ty úplný základy mi budou stačit, děkuju za link. Už vím jak se dorozumívat s SMTP.
Ale je tu jeden problém...
Info:
Adresa serveru: SMTP.seznam.cz
Port: 25
1) Připojím se
2) Obrdřím zprávu od serveru: 220 2.0.0 Seznam SMTP waiting for your HELO/EHLO
3) Odpovím serveru: HELO jag.mv2.seznam.cz
4) Obrdřím zprávu od serveru: 250 Email.Seznam.cz - Email zdarma na cely zivot ESMTP
5) Odpovím serveru: MAIL FROM <jag.mv2@seznam.cz>
6)Obrdřím zprávu od serveru: 502 5.5.1 Command '
Dál jsem to ani nezkoušel :(, protože by server měl vyhodit 250
V čem může být problém. A ještě se chci zeptat, občas mi to při připojování vyhodí že jsem byl trvale zabanován :smile11:
Tak už jsem se naučil WinSokety (2,2), takže bych se rád pustil do toho SMTP. Bohužel je to anglicky, a je toho hodně. Nebylo by něco v CZ nebo něco stručnějšího v EN ?
Díky
Ahoj, potřeboval bych přilinkovat lwsock32.lib do mého programu, který by měl používat Win Sokety. Bohužel lwsock32.lib nelze najít. Můžu ho nahradit jinou libkou nebo si lwsock32.lib můžu někde stáhnout ?
Děkuji
PS: Pro přilinkování používám:
#pragma comment (lib, "lwsock32.lib")
Vyřešeno už to funguje. Vyřešil jsem to přes EnumChildWindow a následně pomocí programu Spy++jsem dostal WM_
Ahoj, pracuji na programu, který automaticky přes skype odesílá zprávy.
Nastavit text oknu do kterého se zpráva normálně píše už umím.
Bohužel musím HWND okna nastavovat ručně, protože neumím najít child window pomocí ClassName. (U toho rodičovského není problém)
Ani mi moc nevadí, že musím HWND nastavovat ručně.
Potřebuji pouze oknu (skype) odeslat zpávu (SendMessage), aby zprávu odeslal. Tu bohužel neznám. Může mi někdo poradit, jak tuto zprávu zjistit, a popřípadě jak zjistit handle dětského okno přes ClassName (znám HWND rodičovského).
Děkuji moc!
Jinak zde je kód programu:
int main ()
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,FOREGROUND_INTENSITY);
HWND textove_pole , tlacitko_odeslat, okno_skype;
okno_skype = FindWindow(TEXT("tSkMainForm.UnicodeClass"), NULL);
textove_pole = (HWND) 0x150666;
tlacitko_odeslat = (HWND) 0x1B0684;
// Pro kontrolu
cout << "HWND skype okna : "<< okno_skype << "\n";
cout << "HWND textoveho pole: "<< textove_pole << "\n";
cout << "HWND tlacitko odeslat: "<< textove_pole << "\n";
cout << "\nError po zjisteni handle okna: " << GetLastError() << "\n";
// Nastavení textu pole pro zprávu
SendMessage(textove_pole, WM_SETTEXT, (WPARAM)"Nějaký text okna", (LPARAM)"Nějaký text okna");
cout << "Error po nastaveni textu okna: " << GetLastError() << "\n";
// Zde by měl být SendMessage pro odeslání zprávy
system("pause");
return 0;
}
Děkuju nervak
Měl bych tu ještě jeden problém, který však nesouvisí s INI filema.
Potřeboval bych udělat program, který nakonec souboru přidá nějaký znak. (To mi jde)
A druhý program, který na konci souboru ten znak odebere. S tím mam už problém, nevím jak mám otebrat v souboru jeden jediný znak který je na konci. Vše v bináním režimu.
Poradí někdo ?
Našel jsem funkce pro WinAppi
...
int main ()
{
WCHAR* age;
WCHAR* patch = L"D:\\file.ini";
GetPrivateProfileString(L"main", L"age", NULL,age,MAX, patch);
cout << age;
return 0;
}
Něco v CZ by nebylo ?
Ahoj, chtěl bych se naučit používat ini soubory v c++. Např. Tahat, mazat a editovat z nich uložené proměné atd. Mohli by jsem mi dát nějaký malí tutoriál či odkaz na nějaký článek v internetu ?
Spouštěj to přes ShellExecute(); nebo přes CreateProcess();
To Tom :
Neříkám že to nemají být nesprávnosti :smile14: . Pokud tedy myslíš že je ideálnější cesta jak skýt ten soubor, sem s tim.
Jinak mám Windows 7 a "Windows\system32\dllcache\" neexistuje.
Co se týče dll tak přes c++ s nimy neumím pracovat :( .
Vyřešeno
Za češtinu sorry :D. Jinak vým co se stane když kilnu explorer.exe :smile1: . Mě jde hlavně o to, že se explorer.exe musí spustit při startu Windows, user to tedy nemůže "vypnout". Za explorer.exe bych tedy nahrál svůj "program". Pokud bych svůj program zapsal do registru, tak každý zkušenější user to vymaže. Nebo bude možná stačit, když přepíšu jiný systémový soubor , který se můsí spustit při startu Win.
Tom: Žádný dllcache jsem v PC nenašel.
Ahoj,
dělám na programu který zamění soubor explorer.exe za jiný soubor (exe).
Chci se zeptat, zdali to má vůbec cenu (protože explorer.exe je chráněný pod windows), a jestly má, tak jak na to.
Uvažoval jsem o tom, možní by to nějak šlo...
1) Vypnout proces exlorer.exe
2) Otevřít z maximálními právami (jako se otvírají key v registrech KEY_ALL_ACCES)
3) Smazat obsah explorer.exe a binárně překopírovat obsah jiného exe.
4) Restartovat PC (protože jsem nepřišel na to, jak zpustit explorer v c++)
Děkuji za rady
Ahoj, potřeboval bych zakázat tyto klávesové zkratky za běuh programu:
Ctrl+Alt+Del
Alt+Tab
Vše ve Win32API
Děkuji
Ahoj,
potřeboval bych znát funkci něco jako sprintf() pro WCHAR[] , jako je sprintf() pro char[];
Děkuju
Dík už to fachá ! :smile7:
Hlásí mi to 2 (ERROR_FILE_NOT_FOUND) , ale soubor tam je.
Ahoj, chtěl bych nějakým způsobem zjistit handle souboru z patche (př. C:\file.exe) a následně zjistit jeho velikost
nějak jsem to zkoušel přes CreateFile a GetLastError hází hodnotu 6 což je INVALID_HANDLE
int main ( )
{
HANDLE hFile = CreateFile((LPCWSTR)"C:\\file.exe", GENERIC_READ | GENERIC_WRITE , FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD fSize;
fSize = GetFileSize(hFile, NULL);
cout << "Velikost souboru: "<< fSize << " bajtu\n";
cout << "Posledni kod chyby: "<< GetLastError() << "\n";
system("pause");
return 0;
}
A jakpak bych to mohl udělat ?
Ahoj, potřeboval bych pomoct s registrováním hotkey. Chtěl bych udělat program, který je skrytý na pozadí
[ShowWindow(hwnd, SW_HIDE)], a po stisknutí klávesové zkratky Tab+Del provedl určitou akci.
Lze toto nějak udělat ?
Díky
No, abych řek pravdu myslel jsem si že to bude jednoduší.
Ale jinak dík, určitě se na to podívám.
No o to právě jde. Jak se připojit k socketu a posilat data podle predpisu?
Ahoj, jak se dá odeslat email z programu přes SMTP?
Google neporadil.
Díky
Vyřešeno
Díky
Handle okna chci zjistit, proto abych mohl oknu posílat zprávy a ovládat jej.
Příklady
ShowWindow(TeamViewer, SW_HIDE);
EnableWindow(TeamViewer, false);
SendMessage(TeamViewer, WM_CLOSE, NULL, NULL);
DestroyWindow(TeamViewer);
atd.
Ahoj, měl bych dotaz. Jak mohu zjistit handle okna, které nemá titulek?
Konkrétně se jedná o okno proramu TeamViewer,
které se zobrazí v pravém dolním rohu, když se na vás někdo připojí (viz. screen).
Nešlo by to zjistit třeba přes X, Y souřadnic okna nebo podle procesu atd.?
Děkuji
Díky, funguje.
Tento kód je přeložen v Release:
#include <iostream>
using namespace std;
int main ()
{
cout << "Text" ;
}
Dobrý den,
mám problém s MS Visual 2010.
Když si vytvořím nějaký prográmek např. tento:
#include <iostream>
using namespace std;
int main ()
{
cout << "Text" ;
}
To znamená?
HDC g_hDC = (HDC)wParam;
a kde ji mam deklarovat?
Dík, barva pozadí už změnit jde ,ale nedaří se mi ty bitmapy.
Hlavní problém je v tom že nevím co má být to g_hDC
Nefunguje mi to, přestože inicializuji hDC.
hDC = BeginPaint(hlavni_okno, &ps);
Je nějaký způsob, jak lze pomocí MCI přehrát soubor mp3 v resources bez toho, aniž bych to nahrával někam do tempu?
HWND hMCI = MCIWndCreate(hwnd, hInst, (DWORD) WS_CAPTION, (LPSTR) MAKEINTRESOURCE(HUDBA);//nefunguje
OK upravil jsem WM_ERASEBKGND
case WM_ERASEBKGND:
HDC hDC;
RECT rtRect;
GetClientRect(hwnd, &rtRect);
FillRect(hDC, &rtRect, (HBRUSH) MAKEINTRESOURCE(BCK));
return(TRUE);
SendMessage(hwnd,WM_ERASEBKGND,NULL,NULL);
#include "main.h"
#include <commctrl.h>
#include <tchar.h>
#include <mmsystem.h>
#define _MainClassName TEXT("WinAPIMainClass")
#define _AppName TEXT("System info")
#define _TimerClock 1
#pragma comment(lib, "user32.lib")
HINSTANCE g_hInstance;
TCHAR name [ UNLEN + 1 ];
DWORD size = UNLEN + 1;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK DialogProc(HWND, UINT, WPARAM,LPARAM);
HWND konec, text[100];
HWND g_hwndMain;
HWND g_hwndStatusBar;
HWND hlavni_okno;
int setfont (HWND hwnd)
{
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwnd,WM_SETFONT, (WPARAM)hFont, (LPARAM)TRUE);
return 0;
}
TCHAR ch[20];
MSG msg;
BOOL DumpResource(WORD id, char *filename)
{
HRSRC rsrc;
HGLOBAL load;
LPVOID data;
DWORD size;
BOOL status = FALSE;
if ((rsrc = FindResource(NULL, MAKEINTRESOURCE(id), "BINARY")) != NULL &&
(load = LoadResource(NULL, rsrc)) != NULL &&
(data = LockResource(load)) != NULL &&
(size = SizeofResource(NULL, rsrc)) != 0)
{
FILE *file;
if ((file = fopen(filename, "wb")) != NULL) {
if (fwrite(data, 1, size, file) == size)
status = TRUE;
fclose(file);
}
}
return status;
} //DumpResource(IDR_SOUBOR1, "hudba.mp3");
LRESULT CALLBACK WindowProcMain(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
TCHAR chText[200];
SYSTEMTIME sysTime;
INT_PTR dlgResult;
switch ( message )
{
case WM_COMMAND:
switch ( LOWORD(wParam) )
{
case IDB_KONEC:
DestroyWindow(konec);
DestroyWindow(g_hwndStatusBar);
SetWindowLong(hlavni_okno, GWL_STYLE, WS_OVERLAPPEDWINDOW);
ShowWindow(hlavni_okno, SW_SHOWDEFAULT);
UpdateWindow(hlavni_okno);
SendMessage(hwnd,WM_ERASEBKGND,NULL,NULL);
break;
}
case WM_CREATE:
konec = CreateWindowEx(NULL,"BUTTON", "Konec", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON , 500,320,70,25,hwnd,(HMENU)IDB_KONEC, NULL,NULL);
setfont(text[1]);
setfont(konec);
break;
case WM_SIZE:
SendMessage(g_hwndStatusBar, WM_SIZE, wParam, lParam);
break;
case WM_TIMER:
GetLocalTime(&sysTime);
_stprintf(chText, TEXT(" Dnes je: %d.%d.%d, %d:%.2d:%.2d hod."), sysTime.wDay, sysTime.wMonth, sysTime.wYear, sysTime.wHour, sysTime.wMinute, sysTime.wSecond); SetWindowText(g_hwndStatusBar, chText);
break;
case WM_CLOSE:
if ( MessageBox(hwnd, TEXT("Opravdu ukončit?"), _AppName, MB_YESNO | MB_ICONWARNING | MB_TASKMODAL) != IDYES )
return 0;
KillTimer(hwnd, _TimerClock);
break;
case WM_ERASEBKGND:
HDC hDC;
RECT rtRect;
GetClientRect(hwnd, &rtRect);
FillRect(hDC, &rtRect, (HBRUSH) MAKEINTRESOURCE(BCK));
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
BOOL InitApp()
{
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_WIN95_CLASSES;
if ( !InitCommonControlsEx(&icc) )
return FALSE;
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = NULL;//(HBRUSH)(COLOR_BTNFACE + 1);
wc.hCursor = LoadCursor(g_hInstance, MAKEINTRESOURCE(IDC_MAIN));
wc.hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDR_MAIN));
wc.hIconSm = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDR_MAIN));
wc.hInstance = g_hInstance;
wc.lpfnWndProc = WindowProcMain;
wc.lpszClassName = _MainClassName;
wc.lpszMenuName = NULL;//MAKEINTRESOURCE(IDR_MAINMENU);
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW | DS_CENTER;
if ( !RegisterClassEx(&wc) )
return FALSE;
g_hwndMain = CreateWindowEx(0, _MainClassName, _AppName, WS_CAPTION | WS_SYSMENU | WS_VISIBLE, 100, 100, 600, 400, NULL, NULL, g_hInstance, NULL);
ShowWindow(g_hwndMain, SW_SHOWDEFAULT);
UpdateWindow(g_hwndMain);
hlavni_okno = g_hwndMain;
g_hwndStatusBar = CreateWindowEx(0, STATUSCLASSNAME, TEXT("Stavový řádek"), WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, g_hwndMain, (HMENU)NULL, g_hInstance, NULL);
SetTimer(g_hwndMain, _TimerClock, 1000, NULL);
SendMessage(g_hwndMain, WM_TIMER, _TimerClock, NULL);
return TRUE;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShow)
{
g_hInstance = hInstance;
if ( !InitApp() )
return FALSE;
while ( GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
#include "main.h"
#include <commctrl.h>
#include <tchar.h>
#include <mmsystem.h>
#define _MainClassName TEXT("WinAPIMainClass")
#define _AppName TEXT("System info")
#define _TimerClock 1
#pragma comment(lib, "user32.lib")
HINSTANCE g_hInstance;
TCHAR name [ UNLEN + 1 ];
DWORD size = UNLEN + 1;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK DialogProc(HWND, UINT, WPARAM,LPARAM);
HWND konec, text[100];
HWND g_hwndMain;
HWND g_hwndStatusBar;
HWND hlavni_okno;
int setfont (HWND hwnd)
{
HFONT hFont = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
SendMessage(hwnd,WM_SETFONT, (WPARAM)hFont, (LPARAM)TRUE);
return 0;
}
TCHAR ch[20];
MSG msg;
BOOL DumpResource(WORD id, char *filename)
{
HRSRC rsrc;
HGLOBAL load;
LPVOID data;
DWORD size;
BOOL status = FALSE;
if ((rsrc = FindResource(NULL, MAKEINTRESOURCE(id), "BINARY")) != NULL &&
(load = LoadResource(NULL, rsrc)) != NULL &&
(data = LockResource(load)) != NULL &&
(size = SizeofResource(NULL, rsrc)) != 0)
{
FILE *file;
if ((file = fopen(filename, "wb")) != NULL) {
if (fwrite(data, 1, size, file) == size)
status = TRUE;
fclose(file);
}
}
return status;
} //DumpResource(IDR_SOUBOR1, "hudba.mp3");
LRESULT CALLBACK WindowProcMain(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
TCHAR chText[200];
SYSTEMTIME sysTime;
INT_PTR dlgResult;
switch ( message )
{
case WM_COMMAND:
switch ( LOWORD(wParam) )
{
case IDB_KONEC:
DestroyWindow(konec);
DestroyWindow(g_hwndStatusBar);
SetWindowLong(hlavni_okno, GWL_STYLE, WS_OVERLAPPEDWINDOW);
ShowWindow(hlavni_okno, SW_SHOWDEFAULT);
UpdateWindow(hlavni_okno);
SendMessage(hwnd,WM_ERASEBKGND,NULL,NULL);
break;
}
case WM_CREATE:
konec = CreateWindowEx(NULL,"BUTTON", "Konec", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON , 500,320,70,25,hwnd,(HMENU)IDB_KONEC, NULL,NULL);
setfont(text[1]);
setfont(konec);
break;
case WM_SIZE:
SendMessage(g_hwndStatusBar, WM_SIZE, wParam, lParam);
break;
case WM_TIMER:
GetLocalTime(&sysTime);
_stprintf(chText, TEXT(" Dnes je: %d.%d.%d, %d:%.2d:%.2d hod."), sysTime.wDay, sysTime.wMonth, sysTime.wYear, sysTime.wHour, sysTime.wMinute, sysTime.wSecond); SetWindowText(g_hwndStatusBar, chText);
break;
case WM_CLOSE:
if ( MessageBox(hwnd, TEXT("Opravdu ukončit?"), _AppName, MB_YESNO | MB_ICONWARNING | MB_TASKMODAL) != IDYES )
return 0;
KillTimer(hwnd, _TimerClock);
break;
case WM_ERASEBKGND:
HDC hDC;
RECT rtRect;
GetClientRect(hwnd, &rtRect);
FillRect(hDC, &rtRect, (HBRUSH)(COLOR_INFOBK + 1));
SetClassLong(hwnd, GCL_HBRBACKGROUND,(LONG) MAKEINTRESOURCE(BCK));
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
BOOL InitApp()
{
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_WIN95_CLASSES;
if ( !InitCommonControlsEx(&icc) )
return FALSE;
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
wc.hCursor = LoadCursor(g_hInstance, MAKEINTRESOURCE(IDC_MAIN));
wc.hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDR_MAIN));
wc.hIconSm = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDR_MAIN));
wc.hInstance = g_hInstance;
wc.lpfnWndProc = WindowProcMain;
wc.lpszClassName = _MainClassName;
wc.lpszMenuName = NULL;//MAKEINTRESOURCE(IDR_MAINMENU);
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW | DS_CENTER;
if ( !RegisterClassEx(&wc) )
return FALSE;
g_hwndMain = CreateWindowEx(0, _MainClassName, _AppName, WS_CAPTION | WS_SYSMENU | WS_VISIBLE, 100, 100, 600, 400, NULL, NULL, g_hInstance, NULL);
ShowWindow(g_hwndMain, SW_SHOWDEFAULT);
UpdateWindow(g_hwndMain);
hlavni_okno = g_hwndMain;
g_hwndStatusBar = CreateWindowEx(0, STATUSCLASSNAME, TEXT("Stavový řádek"), WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, g_hwndMain, (HMENU)NULL, g_hInstance, NULL);
SetTimer(g_hwndMain, _TimerClock, 1000, NULL);
SendMessage(g_hwndMain, WM_TIMER, _TimerClock, NULL);
return TRUE;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nShow)
{
g_hInstance = hInstance;
if ( !InitApp() )
return FALSE;
while ( GetMessage(&msg, NULL, 0, 0) )
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
Je to moje okno. I když použiju WM_ERASEBKGND tak to vyhodí zase šedou obrazovku.
Neexistuje nějaká aspoň nějaká funkce na vykreslení bitmapy do okna?
Ok díky. Už to studuji a vypadá to nadějně. Díky
Takže styl mi změnit jde ale mám problé se změnou backgroundu.
SetClassLong(hlavni_okno, GCL_HBRBACKGROUND,(LONG) MAKEINTRESOURCE(BCK));
Myslím, že název vlákna mluví za vše
Ahoj, potřeboval bych vědět, jak se dají zjistit hardware a software info.
Např. operační systém, velikost RAM, volné místo na disku, ...
Už jsem googlil , ale nevygooglil :D
No, mohl by jsi zkusit proměnou
time_t
do této proměné se ukládá unixový čas, takže možná že by ti to mohlo stačit :DOK stáhnul jsem si zlib , a co teď? Vím že jí tam mam includnout (jako že jsem to udělal). A co nějáké "příkazy " jak to extrahovat?
OK
Jak můžu ty soubory zazipovat do .dat a pak je pře program extrahovat?
Dobrý den,
dělám si ve Visual c++ 2010 takový poněkud větší prográmek (v konečné formě by měl mít 2GB).
Jedná se o to že jsem si do .rc souboru nahrál zatím 411 souborů (675 MB).
Když chci program "stvořit" , tak to asi 2min běhá a pak to napíše:
1>------ Build started: Project: WinApi, Configuration: Debug Win32 ------
1> Output file switched to buffered mode at 0x2B063E28
1>LINK : fatal error LNK1102: out of memory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
#include "resource.h"
#include <commctrl.h>
#include <tchar.h>
#include <stdio.h>
#include <windows.h>
A1 BINARY "data\\GameData\\Animations\\Ambient.ukx"
A2 BINARY "data\\GameData\\Animations\\BactaDispensers.ukx"
A3 BINARY "data\\GameData\\Animations\\Beast.ukx"
A4 BINARY "data\\GameData\\Animations\\BriefingAnimProps.ukx"
A5 BINARY "data\\GameData\\Animations\\Clone.ukx"
A6 BINARY "data\\GameData\\Animations\\Dispensers.ukx"
A7 BINARY "data\\GameData\\Animations\\Droid.ukx"
A8 BINARY "data\\GameData\\Animations\\GeoAnimProps.ukx"
A9 BINARY "data\\GameData\\Animations\\Geonosian.ukx"
A10 BINARY "data\\GameData\\Animations\\HudArms.ukx"
A11 BINARY "data\\GameData\\Animations\\Kaminoan.ukx"
A12 BINARY "data\\GameData\\Animations\\KashyyykAnimProps.ukx"
A13 BINARY "data\\GameData\\Animations\\MiscAnimProps.ukx"
A14 BINARY "data\\GameData\\Animations\\MPAnimProps.ukx"
A15 BINARY "data\\GameData\\Animations\\PrologueAnimProps.ukx"
A16 BINARY "data\\GameData\\Animations\\RASAnimProps.ukx"
A17 BINARY "data\\GameData\\Animations\\Trandoshan.ukx"
A18 BINARY "data\\GameData\\Animations\\Turrets.ukx"
A19 BINARY "data\\GameData\\Animations\\Vehicles.ukx"
A20 BINARY "data\\GameData\\Animations\\Wookiee.ukx"
K1 BINARY "data\\GameData\\KarmaData\\Ambient.ka"
K2 BINARY "data\\GameData\\KarmaData\\Clone.ka"
K3 BINARY "data\\GameData\\KarmaData\\CT.kaw"
K4 BINARY "data\\GameData\\KarmaData\\Droid.ka"
K5 BINARY "data\\GameData\\KarmaData\\Geonosian.ka"
K6 BINARY "data\\GameData\\KarmaData\\RASAnimProps.ka"
K7 BINARY "data\\GameData\\KarmaData\\Trandoshan.ka"
K8 BINARY "data\\GameData\\KarmaData\\Turrets.ka"
K9 BINARY "data\\GameData\\KarmaData\\Vehicles.ka"
K10 BINARY "data\\GameData\\KarmaData\\Wookiee.ka"
M1 BINARY "data\\GameData\\Maps\\1138.ctm"
M2 BINARY "data\\GameData\\Maps\\CTF_Detention.ctm"
M3 BINARY "data\\GameData\\Maps\\CTF_Engine.ctm"
M4 BINARY "data\\GameData\\Maps\\CTF_HangingGarden.ctm"
M5 BINARY "data\\GameData\\Maps\\CTF_POW.ctm"
M6 BINARY "data\\GameData\\Maps\\CTF_Siege.ctm"
M7 BINARY "data\\GameData\\Maps\\CTF_Trando.ctm"
M8 BINARY "data\\GameData\\Maps\\CTF_Underpass.ctm"
M9 BINARY "data\\GameData\\Maps\\CTF_ZeroG.ctm"
M10 BINARY "data\\GameData\\Maps\\DM_Canyon.ctm"
M11 BINARY "data\\GameData\\Maps\\DM_Detention.ctm"
M12 BINARY "data\\GameData\\Maps\\DM_Engine.ctm"
M13 BINARY "data\\GameData\\Maps\\DM_HangingGarden.ctm"
M14 BINARY "data\\GameData\\Maps\\DM_POW.ctm"
M15 BINARY "data\\GameData\\Maps\\DM_POWSmall.ctm"
M16 BINARY "data\\GameData\\Maps\\DM_Siege.ctm"
M17 BINARY "data\\GameData\\Maps\\DM_Trando.ctm"
M18 BINARY "data\\GameData\\Maps\\DM_Underpass.ctm"
M19 BINARY "data\\GameData\\Maps\\DM_ZeroG.ctm"
M20 BINARY "data\\GameData\\Maps\\Entry.ctm"
M21 BINARY "data\\GameData\\Maps\\EPILOGUE.ctm"
M22 BINARY "data\\GameData\\Maps\\GEO_01A.ctm"
M23 BINARY "data\\GameData\\Maps\\GEO_01B.ctm"
M24 BINARY "data\\GameData\\Maps\\GEO_01Briefing.ctm"
M25 BINARY "data\\GameData\\Maps\\GEO_01C.ctm"
M26 BINARY "data\\GameData\\Maps\\GEO_03A.ctm"
M27 BINARY "data\\GameData\\Maps\\GEO_03C.ctm"
M28 BINARY "data\\GameData\\Maps\\GEO_03D.ctm"
M29 BINARY "data\\GameData\\Maps\\GEO_04A.ctm"
M30 BINARY "data\\GameData\\Maps\\GEO_04B.ctm"
M31 BINARY "data\\GameData\\Maps\\GEO_04C.ctm"
M32 BINARY "data\\GameData\\Maps\\GEO_04D.ctm"
M33 BINARY "data\\GameData\\Maps\\GEO_05A.ctm"
M34 BINARY "data\\GameData\\Maps\\GEO_05B.ctm"
M35 BINARY "data\\GameData\\Maps\\GEO_05C.ctm"
M36 BINARY "data\\GameData\\Maps\\MPCustom.ctm"
M37 BINARY "data\\GameData\\Maps\\PRO.ctm"
M38 BINARY "data\\GameData\\Maps\\RAS_01A.ctm"
M39 BINARY "data\\GameData\\Maps\\RAS_01B.ctm"
M40 BINARY "data\\GameData\\Maps\\RAS_01Briefing.ctm"
M41 BINARY "data\\GameData\\Maps\\RAS_01C.ctm"
M42 BINARY "data\\GameData\\Maps\\RAS_02A.ctm"
M43 BINARY "data\\GameData\\Maps\\RAS_02B.ctm"
M44 BINARY "data\\GameData\\Maps\\RAS_02C.ctm"
M45 BINARY "data\\GameData\\Maps\\RAS_02D.ctm"
M46 BINARY "data\\GameData\\Maps\\RAS_02E.ctm"
M47 BINARY "data\\GameData\\Maps\\RAS_03A.ctm"
M48 BINARY "data\\GameData\\Maps\\RAS_03B.ctm"
M49 BINARY "data\\GameData\\Maps\\RAS_03C.ctm"
M50 BINARY "data\\GameData\\Maps\\RAS_04A.ctm"
M51 BINARY "data\\GameData\\Maps\\RAS_04B.ctm"
M52 BINARY "data\\GameData\\Maps\\RAS_04C.ctm"
M53 BINARY "data\\GameData\\Maps\\RAS_04D.ctm"
M54 BINARY "data\\GameData\\Maps\\YYY_01B.ctm"
M55 BINARY "data\\GameData\\Maps\\YYY_01Briefing.ctm"
M56 BINARY "data\\GameData\\Maps\\YYY_01C.ctm"
M57 BINARY "data\\GameData\\Maps\\YYY_01D.ctm"
M58 BINARY "data\\GameData\\Maps\\YYY_01E.ctm"
M59 BINARY "data\\GameData\\Maps\\YYY_04A.ctm"
M60 BINARY "data\\GameData\\Maps\\YYY_04B.ctm"
M61 BINARY "data\\GameData\\Maps\\YYY_04C.ctm"
M62 BINARY "data\\GameData\\Maps\\YYY_04E.ctm"
M63 BINARY "data\\GameData\\Maps\\YYY_04F.ctm"
M64 BINARY "data\\GameData\\Maps\\YYY_05A.ctm"
M65 BINARY "data\\GameData\\Maps\\YYY_05B.ctm"
M66 BINARY "data\\GameData\\Maps\\YYY_05C.ctm"
M67 BINARY "data\\GameData\\Maps\\YYY_05D.ctm"
M68 BINARY "data\\GameData\\Maps\\YYY_05E.ctm"
M69 BINARY "data\\GameData\\Maps\\YYY_05F.ctm"
M70 BINARY "data\\GameData\\Maps\\YYY_06A.ctm"
M71 BINARY "data\\GameData\\Maps\\YYY_06B.ctm"
M72 BINARY "data\\GameData\\Maps\\YYY_06C.ctm"
M73 BINARY "data\\GameData\\Maps\\YYY_06D.ctm"
M74 BINARY "data\\GameData\\Maps\\YYY_35A.ctm"
M75 BINARY "data\\GameData\\Maps\\YYY_35B.ctm"
M76 BINARY "data\\GameData\\Maps\\YYY_35C.ctm"
M77 BINARY "data\\GameData\\Maps\\YYY07Briefing.ctm"
Mo1 BINARY "data\\GameData\\Movies\\ExtrasAsh.mpg"
Mo2 BINARY "data\\GameData\\Movies\\ExtrasConcept.mpg"
Mo3 BINARY "data\\GameData\\Movies\\ExtrasFoley.mpg"
Mo4 BINARY "data\\GameData\\Movies\\ExtrasInterview.mpg"
Mo5 BINARY "data\\GameData\\Movies\\ExtrasTraining.mpg"
Mo6 BINARY "data\\GameData\\Movies\\LECIntro.avi"
Mo7 BINARY "data\\GameData\\Movies\\Menu_BG.avi"
Mo8 BINARY "data\\GameData\\Movies\\NVIDIAIntro.avi"
Mu1 BINARY "data\\GameData\\Music\\anticipation 1.ogg"
Mu2 BINARY "data\\GameData\\Music\\anticipation 2.ogg"
Mu3 BINARY "data\\GameData\\Music\\anticipation 3.ogg"
Mu4 BINARY "data\\GameData\\Music\\anticipation.ogg"
Mu5 BINARY "data\\GameData\\Music\\ASH_Track4_Clones.ogg"
Mu6 BINARY "data\\GameData\\Music\\cog-base-idle1.ogg"
Mu7 BINARY "data\\GameData\\Music\\cog-base-idle2.ogg"
Mu8 BINARY "data\\GameData\\Music\\musGEN_4thostinato_lp.ogg"
Mu9 BINARY "data\\GameData\\Music\\musGEN_adennWSPR_ol.ogg"
Mu10 BINARY "data\\GameData\\Music\\musGEN_astWSPR_ol.ogg"
Mu11 BINARY "data\\GameData\\Music\\musGEN_cluster2secCR_ol.ogg"
Mu12 BINARY "data\\GameData\\Music\\musGEN_cluster3secCR_ol.ogg"
Mu13 BINARY "data\\GameData\\Music\\musGEN_cluster6secCRDE_ol.ogg"
Mu14 BINARY "data\\GameData\\Music\\musGEN_cluster8secCRDE_ol.ogg"
Mu15 BINARY "data\\GameData\\Music\\musGEN_coruscantaWSPR_ol.ogg"
Mu16 BINARY "data\\GameData\\Music\\musGEN_cuunhettDRG_ol.ogg"
Mu17 BINARY "data\\GameData\\Music\\musGEN_darasuumWSPR_ol.ogg"
Mu18 BINARY "data\\GameData\\Music\\musGEN_deathStinger_ep.ogg"
Mu19 BINARY "data\\GameData\\Music\\musGEN_epilogue_ep.ogg"
Mu20 BINARY "data\\GameData\\Music\\musGEN_gratuaDRG_ol.ogg"
Mu21 BINARY "data\\GameData\\Music\\musGEN_jetiiseWSPR_ol.ogg"
Mu22 BINARY "data\\GameData\\Music\\musGEN_jorsoranORCH_ep.ogg"
Mu23 BINARY "data\\GameData\\Music\\musGEN_jorsoranVOX_ep.ogg"
Mu24 BINARY "data\\GameData\\Music\\musGEN_jwbattle01_ep.ogg"
Mu25 BINARY "data\\GameData\\Music\\musGEN_jwbattle02_ep.ogg"
Mu26 BINARY "data\\GameData\\Music\\musGEN_jwbattle03a_ep.ogg"
Mu27 BINARY "data\\GameData\\Music\\musGEN_jwbattle03b_ep.ogg"
Mu28 BINARY "data\\GameData\\Music\\musGEN_jwbattle04_ep.ogg"
Mu29 BINARY "data\\GameData\\Music\\musGEN_jwbattle05a_ep.ogg"
Mu30 BINARY "data\\GameData\\Music\\musGEN_jwbattle05b_ep.ogg"
Mu31 BINARY "data\\GameData\\Music\\musGEN_jwbattle05c_ep.ogg"
Mu32 BINARY "data\\GameData\\Music\\musGEN_jwbattle06_ep.ogg"
Mu33 BINARY "data\\GameData\\Music\\musGEN_jwbattle07_ep.ogg"
Mu34 BINARY "data\\GameData\\Music\\musGEN_jwbattle08_ep.ogg"
Mu35 BINARY "data\\GameData\\Music\\musGEN_jwbattle09_ep.ogg"
Mu36 BINARY "data\\GameData\\Music\\musGEN_jwbattle10_ep.ogg"
Mu37 BINARY "data\\GameData\\Music\\musGEN_jwbattle11_ep.ogg"
Mu38 BINARY "data\\GameData\\Music\\musGEN_jwbattle12_ep.ogg"
Mu39 BINARY "data\\GameData\\Music\\musGEN_jwbattle13_ep.ogg"
Mu40 BINARY "data\\GameData\\Music\\musGEN_jwbattle14_ep.ogg"
Mu41 BINARY "data\\GameData\\Music\\musGEN_jwbattle15_ep.ogg"
Mu42 BINARY "data\\GameData\\Music\\musGEN_kandosiiWSPR_ol.ogg"
Mu43 BINARY "data\\GameData\\Music\\musGEN_karaDRG_ol.ogg"
Mu44 BINARY "data\\GameData\\Music\\musGEN_kartaWSPR_ol.ogg"
Mu45 BINARY "data\\GameData\\Music\\musGEN_koteBbmk1_ep.ogg"
Mu46 BINARY "data\\GameData\\Music\\musGEN_koteBbmk2_ep.ogg"
Mu47 BINARY "data\\GameData\\Music\\musGEN_koteBbmk3_ep.ogg"
Mu48 BINARY "data\\GameData\\Music\\musGEN_koteBbmk4_ep.ogg"
Mu49 BINARY "data\\GameData\\Music\\musGEN_koteBbmk4B_ep.ogg"
Mu50 BINARY "data\\GameData\\Music\\musGEN_koteBbmk5_ep.ogg"
Mu51 BINARY "data\\GameData\\Music\\musGEN_koteBbmk6_ep.ogg"
Mu52 BINARY "data\\GameData\\Music\\musGEN_koteBbmk7_ep.ogg"
Mu53 BINARY "data\\GameData\\Music\\musGEN_kotedarasuumDRG_ol.ogg"
Mu54 BINARY "data\\GameData\\Music\\musGEN_koteDRG_ol.ogg"
Mu55 BINARY "data\\GameData\\Music\\musGEN_koteFmk1_ep.ogg"
Mu56 BINARY "data\\GameData\\Music\\musGEN_koteFmk2_ep.ogg"
Mu57 BINARY "data\\GameData\\Music\\musGEN_koteFmk3_ep.ogg"
Mu58 BINARY "data\\GameData\\Music\\musGEN_koteFmk4_ep.ogg"
Mu59 BINARY "data\\GameData\\Music\\musGEN_koteFmk5_ep.ogg"
Mu60 BINARY "data\\GameData\\Music\\musGEN_koteFmk6_ep.ogg"
Mu61 BINARY "data\\GameData\\Music\\musGEN_koteFmk7_ep.ogg"
Mu62 BINARY "data\\GameData\\Music\\musGEN_kotefullDRG_ol.ogg"
Mu63 BINARY "data\\GameData\\Music\\musGEN_koteWSPR_ol.ogg"
Mu64 BINARY "data\\GameData\\Music\\musGEN_motirDRG_ol.ogg"
Mu65 BINARY "data\\GameData\\Music\\musGEN_motirfullDRG_ol.ogg"
Mu66 BINARY "data\\GameData\\Music\\musGEN_motirWSPR_ol.ogg"
Mu67 BINARY "data\\GameData\\Music\\musGEN_mysteryclick_ol.ogg"
Mu68 BINARY "data\\GameData\\Music\\musGEN_overlay01_ol.ogg"
Mu69 BINARY "data\\GameData\\Music\\musGEN_overlay02_ol.ogg"
Mu70 BINARY "data\\GameData\\Music\\musGEN_overlay03_ol.ogg"
Mu71 BINARY "data\\GameData\\Music\\musGEN_overlay04_ol.ogg"
Mu72 BINARY "data\\GameData\\Music\\musGEN_overlay05_ol.ogg"
Mu73 BINARY "data\\GameData\\Music\\musGEN_overlay06_ol.ogg"
Mu74 BINARY "data\\GameData\\Music\\musGEN_playerincap_lp.ogg"
Mu75 BINARY "data\\GameData\\Music\\musGEN_prologueVari_lp.ogg"
Mu76 BINARY "data\\GameData\\Music\\musGEN_rainstick01_ol.ogg"
Mu77 BINARY "data\\GameData\\Music\\musGEN_rainstick02_ol.ogg"
Mu78 BINARY "data\\GameData\\Music\\musGEN_rainstick03_ol.ogg"
Mu79 BINARY "data\\GameData\\Music\\musGEN_rainstick04_ol.ogg"
Mu80 BINARY "data\\GameData\\Music\\musGEN_rainstick05_ol.ogg"
Mu81 BINARY "data\\GameData\\Music\\musGEN_rainstick06_ol.ogg"
Mu82 BINARY "data\\GameData\\Music\\musGEN_rainstick07_ol.ogg"
Mu83 BINARY "data\\GameData\\Music\\musGEN_rainstick08_ol.ogg"
Mu84 BINARY "data\\GameData\\Music\\musGEN_rainstick09_ol.ogg"
Mu85 BINARY "data\\GameData\\Music\\musGEN_rainstick10_ol.ogg"
Mu86 BINARY "data\\GameData\\Music\\musGEN_rainstick11_ol.ogg"
Mu87 BINARY "data\\GameData\\Music\\musGEN_rainstick12_ol.ogg"
Mu88 BINARY "data\\GameData\\Music\\musGEN_rainstick13_ol.ogg"
Mu89 BINARY "data\\GameData\\Music\\musGEN_rainstick14_ol.ogg"
Mu90 BINARY "data\\GameData\\Music\\musGEN_rainstick15_ol.ogg"
Mu91 BINARY "data\\GameData\\Music\\musGEN_rainstick16_ol.ogg"
Mu92 BINARY "data\\GameData\\Music\\musGEN_rainstick17_ol.ogg"
Mu93 BINARY "data\\GameData\\Music\\musGEN_rainstick18_ol.ogg"
Mu94 BINARY "data\\GameData\\Music\\musGEN_teracinDRG_ol.ogg"
Mu95 BINARY "data\\GameData\\Music\\musGEN_tratuWSPR_ol.ogg"
Mu96 BINARY "data\\GameData\\Music\\musGEN_trochWSPR_ol.ogg"
Mu97 BINARY "data\\GameData\\Music\\musGEN_tsadWSPR_ol.ogg"
Mu98 BINARY "data\\GameData\\Music\\musGEN_vodeostDRM_lp.ogg"
Mu99 BINARY "data\\GameData\\Music\\musGEN_vodeostORCH_lp.ogg"
Mu100 BINARY "data\\GameData\\Music\\musGEN_vodeWSPR_ol.ogg"
Mu101 BINARY "data\\GameData\\Music\\musGEO_01briefing02_ep.ogg"
Mu102 BINARY "data\\GameData\\Music\\musGEO_03Abriefing_ep.ogg"
Mu103 BINARY "data\\GameData\\Music\\musGEO_03Cintro_ep.ogg"
Mu104 BINARY "data\\GameData\\Music\\musGEO_battle02_lp.ogg"
Mu105 BINARY "data\\GameData\\Music\\musGEO_battle02B_lp.ogg"
Mu106 BINARY "data\\GameData\\Music\\musGEO_battle02victory_ep.ogg"
Mu107 BINARY "data\\GameData\\Music\\musGEO_battle03_lp.ogg"
Mu108 BINARY "data\\GameData\\Music\\musGEO_battle03B_lp.ogg"
Mu109 BINARY "data\\GameData\\Music\\musGEO_battle03C_lp.ogg"
Mu110 BINARY "data\\GameData\\Music\\musGEO_cadence_lp.ogg"
Mu111 BINARY "data\\GameData\\Music\\musGEO_jw01briefing_ep.ogg"
Mu112 BINARY "data\\GameData\\Music\\musGEO_jwbattle01_lp.ogg"
Mu113 BINARY "data\\GameData\\Music\\musGEO_jwbattle02_lp.ogg"
Mu114 BINARY "data\\GameData\\Music\\musGEO_jwbattle03_lp.ogg"
Mu115 BINARY "data\\GameData\\Music\\musGEO_jwbattle03victory_ep.ogg"
Mu116 BINARY "data\\GameData\\Music\\musGEO_jwbattle04_lp.ogg"
Mu117 BINARY "data\\GameData\\Music\\musGEO_jwbattle05_lp.ogg"
Mu118 BINARY "data\\GameData\\Music\\musGEO_jwbattle05B_lp.ogg"
Mu119 BINARY "data\\GameData\\Music\\musGEO_jwbattle05victory_ep.ogg"
Mu120 BINARY "data\\GameData\\Music\\musGEO_jwbattle06_lp.ogg"
Mu121 BINARY "data\\GameData\\Music\\musGEO_jwhighcouncil_ol.ogg"
Mu122 BINARY "data\\GameData\\Music\\musGEO_jwtuskencamp_ol.ogg"
Mu123 BINARY "data\\GameData\\Music\\musGEO_kodestinger_ep.ogg"
Mu124 BINARY "data\\GameData\\Music\\musGEO_overlay01_ol.ogg"
Mu125 BINARY "data\\GameData\\Music\\musGEO_overlay02_ol.ogg"
Mu126 BINARY "data\\GameData\\Music\\musGEO_overlay03_ol.ogg"
Mu127 BINARY "data\\GameData\\Music\\musGEO_overlay04_ol.ogg"
Mu128 BINARY "data\\GameData\\Music\\musGEO_overlay05_ol.ogg"
Mu129 BINARY "data\\GameData\\Music\\musGEO_overlay06_ol.ogg"
Mu130 BINARY "data\\GameData\\Music\\musGEO_overlay07_ol.ogg"
Mu131 BINARY "data\\GameData\\Music\\musGEO_overlay08_ol.ogg"
Mu132 BINARY "data\\GameData\\Music\\musGEO_overlay09_ol.ogg"
Mu133 BINARY "data\\GameData\\Music\\musGEO_overlay10_ol.ogg"
Mu134 BINARY "data\\GameData\\Music\\musGEO_overlay11_ol.ogg"
Mu135 BINARY "data\\GameData\\Music\\musGEO_overlay12_ol.ogg"
Mu136 BINARY "data\\GameData\\Music\\musGEO_overlay13_ol.ogg"
Mu137 BINARY "data\\GameData\\Music\\musGEO_overlay14_ol.ogg"
Mu138 BINARY "data\\GameData\\Music\\musGEO_overlay15_ol.ogg"
Mu139 BINARY "data\\GameData\\Music\\musGEO_overlay16_ol.ogg"
Mu140 BINARY "data\\GameData\\Music\\musGEO_suspensestate01_lp.ogg"
Mu141 BINARY "data\\GameData\\Music\\musGEO_suspensestate02_lp.ogg"
Mu142 BINARY "data\\GameData\\Music\\musGEO_suspensestate03_lp.ogg"
Mu143 BINARY "data\\GameData\\Music\\musGEO_suspensestate04_lp.ogg"
Mu144 BINARY "data\\GameData\\Music\\musGEO_suspensestate05_lp.ogg"
Mu145 BINARY "data\\GameData\\Music\\musGEO_suspensestate06_lp.ogg"
Mu146 BINARY "data\\GameData\\Music\\musGEO_teeth_lp.ogg"
Mu147 BINARY "data\\GameData\\Music\\musGEO_titleCard_ep.ogg"
Mu148 BINARY "data\\GameData\\Music\\musRAS_01Aintro_ep.ogg"
Mu149 BINARY "data\\GameData\\Music\\musRAS_01Atrooperdeath_ep.ogg"
Mu150 BINARY "data\\GameData\\Music\\musRAS_battle02_lp.ogg"
Mu151 BINARY "data\\GameData\\Music\\musRAS_battle02B_lp.ogg"
Mu152 BINARY "data\\GameData\\Music\\musRAS_battle02victory_ep.ogg"
Mu153 BINARY "data\\GameData\\Music\\musRAS_cadence_lp.ogg"
Mu154 BINARY "data\\GameData\\Music\\musRAS_impmrchElevator_lp.ogg"
Mu155 BINARY "data\\GameData\\Music\\musRAS_impmrchElevatorB_lp.ogg"
Mu156 BINARY "data\\GameData\\Music\\musRAS_jwbattle01_lp.ogg"
Mu157 BINARY "data\\GameData\\Music\\musRAS_jwbattle01victory_ep.ogg"
Mu158 BINARY "data\\GameData\\Music\\musRAS_jwbattle02_lp.ogg"
Mu159 BINARY "data\\GameData\\Music\\musRAS_jwbattle03_lp.ogg"
Mu160 BINARY "data\\GameData\\Music\\musRAS_jwbriefing_ep.ogg"
Mu161 BINARY "data\\GameData\\Music\\musRAS_overlay01_ol.ogg"
Mu162 BINARY "data\\GameData\\Music\\musRAS_overlay02_ol.ogg"
Mu163 BINARY "data\\GameData\\Music\\musRAS_overlay03_ol.ogg"
Mu164 BINARY "data\\GameData\\Music\\musRAS_overlay04_ol.ogg"
Mu165 BINARY "data\\GameData\\Music\\musRAS_overlay05_ol.ogg"
Mu166 BINARY "data\\GameData\\Music\\musRAS_overlay06_ol.ogg"
Mu167 BINARY "data\\GameData\\Music\\musRAS_overlay07_ol.ogg"
Mu168 BINARY "data\\GameData\\Music\\musRAS_overlay08_ol.ogg"
Mu169 BINARY "data\\GameData\\Music\\musRAS_overlay09_ol.ogg"
Mu170 BINARY "data\\GameData\\Music\\musRAS_overlay10_ol.ogg"
Mu171 BINARY "data\\GameData\\Music\\musRAS_overlay11_ol.ogg"
Mu172 BINARY "data\\GameData\\Music\\musRAS_overlay12_ol.ogg"
Mu173 BINARY "data\\GameData\\Music\\musRAS_overlay13_ol.ogg"
Mu174 BINARY "data\\GameData\\Music\\musRAS_overlay14_ol.ogg"
Mu175 BINARY "data\\GameData\\Music\\musRAS_overlay15_ol.ogg"
Mu176 BINARY "data\\GameData\\Music\\musRAS_overlay16_ol.ogg"
Mu177 BINARY "data\\GameData\\Music\\musRAS_overlay17_ol.ogg"
Mu178 BINARY "data\\GameData\\Music\\musRAS_overlay18_ol.ogg"
Mu179 BINARY "data\\GameData\\Music\\musRAS_overlay19_ol.ogg"
Mu180 BINARY "data\\GameData\\Music\\musRAS_overlay20_ol.ogg"
Mu181 BINARY "data\\GameData\\Music\\musRAS_overlay21_ol.ogg"
Mu182 BINARY "data\\GameData\\Music\\musRAS_overlay22_ol.ogg"
Mu183 BINARY "data\\GameData\\Music\\musRAS_overlay23_ol.ogg"
Mu184 BINARY "data\\GameData\\Music\\musRAS_overlay24_ol.ogg"
Mu185 BINARY "data\\GameData\\Music\\musRAS_overlay25_ol.ogg"
Mu186 BINARY "data\\GameData\\Music\\musRAS_overlay26_ol.ogg"
Mu187 BINARY "data\\GameData\\Music\\musRAS_overlay27_ol.ogg"
Mu188 BINARY "data\\GameData\\Music\\musRAS_overlay28_ol.ogg"
Mu189 BINARY "data\\GameData\\Music\\musRAS_overlay29_ol.ogg"
Mu190 BINARY "data\\GameData\\Music\\musRAS_overlay30_ol.ogg"
Mu191 BINARY "data\\GameData\\Music\\musRAS_overlay31_ol.ogg"
Mu192 BINARY "data\\GameData\\Music\\musRAS_overlay32_ol.ogg"
Mu193 BINARY "data\\GameData\\Music\\musRAS_overlay33_ol.ogg"
Mu194 BINARY "data\\GameData\\Music\\musRAS_subtractorA2_ol.ogg"
Mu195 BINARY "data\\GameData\\Music\\musRAS_subtractorAb2_ol.ogg"
Mu196 BINARY "data\\GameData\\Music\\musRAS_subtractorB2_ol.ogg"
Mu197 BINARY "data\\GameData\\Music\\musRAS_subtractorBb2_ol.ogg"
Mu198 BINARY "data\\GameData\\Music\\musRAS_subtractorBb3_ol.ogg"
Mu199 BINARY "data\\GameData\\Music\\musRAS_subtractorD3_ol.ogg"
Mu200 BINARY "data\\GameData\\Music\\musRAS_subtractorDb3_ol.ogg"
Mu201 BINARY "data\\GameData\\Music\\musRAS_subtractorE2_ol.ogg"
Mu202 BINARY "data\\GameData\\Music\\musRAS_subtractorEb3A_ol.ogg"
Mu203 BINARY "data\\GameData\\Music\\musRAS_subtractorEb3B_ol.ogg"
Mu204 BINARY "data\\GameData\\Music\\musRAS_subtractorF3_ol.ogg"
Mu205 BINARY "data\\GameData\\Music\\musRAS_subtractorG3_ol.ogg"
Mu206 BINARY "data\\GameData\\Music\\musRAS_suspensestate01_lp.ogg"
Mu207 BINARY "data\\GameData\\Music\\musRAS_suspensestate02_lp.ogg"
Mu208 BINARY "data\\GameData\\Music\\musRAS_suspensestate03_lp.ogg"
Mu209 BINARY "data\\GameData\\Music\\musRAS_titleCard_ep.ogg"
Mu210 BINARY "data\\GameData\\Music\\musRAS_vodeRemixOhs_lp.ogg"
Mu211 BINARY "data\\GameData\\Music\\musRAS01_battlelong.ogg"
Mu212 BINARY "data\\GameData\\Music\\musRAS01_battleshort.ogg"
Mu213 BINARY "data\\GameData\\Music\\musRAS01_briefing_lp.ogg"
Mu214 BINARY "data\\GameData\\Music\\musRAS01_overlay01.ogg"
Mu215 BINARY "data\\GameData\\Music\\musRAS01_overlay02.ogg"
Mu216 BINARY "data\\GameData\\Music\\musRAS01_overlay03.ogg"
Mu217 BINARY "data\\GameData\\Music\\musRAS01_overlay04.ogg"
Mu218 BINARY "data\\GameData\\Music\\musRAS01_overlay05.ogg"
Mu219 BINARY "data\\GameData\\Music\\musRAS01_overlay06.ogg"
Mu220 BINARY "data\\GameData\\Music\\musRAS01_suspensehigh01.ogg"
Mu221 BINARY "data\\GameData\\Music\\musRAS01_suspenselow01.ogg"
Mu222 BINARY "data\\GameData\\Music\\musUI_endcredits_ep.ogg"
Mu223 BINARY "data\\GameData\\Music\\musUI_mainmenu_lp.ogg"
Mu224 BINARY "data\\GameData\\Music\\musUI_mainmenuVOX_lp.ogg"
Mu225 BINARY "data\\GameData\\Music\\musYYY_battle01.ogg"
Mu226 BINARY "data\\GameData\\Music\\musYYY_battle02_lp.ogg"
Mu227 BINARY "data\\GameData\\Music\\musYYY_battle02B_lp.ogg"
Mu228 BINARY "data\\GameData\\Music\\musYYY_battle02victory_ep.ogg"
Mu229 BINARY "data\\GameData\\Music\\musYYY_battle03_lp.ogg"
Mu230 BINARY "data\\GameData\\Music\\musYYY_battle03victory_ep.ogg"
Mu231 BINARY "data\\GameData\\Music\\musYYY_battle04_lp.ogg"
Mu232 BINARY "data\\GameData\\Music\\musYYY_battle04B_lp.ogg"
Mu233 BINARY "data\\GameData\\Music\\musYYY_battle04victory_ep.ogg"
Mu234 BINARY "data\\GameData\\Music\\musYYY_battle05_lp.ogg"
Mu235 BINARY "data\\GameData\\Music\\musYYY_briefing.ogg"
Mu236 BINARY "data\\GameData\\Music\\musYYY_genericostinato_lp.ogg"
Mu237 BINARY "data\\GameData\\Music\\musYYY_jwbattle01_lp.ogg"
Mu238 BINARY "data\\GameData\\Music\\musYYY_jwbattle02_lp.ogg"
Mu239 BINARY "data\\GameData\\Music\\musYYY_jwbattle03_lp.ogg"
Mu240 BINARY "data\\GameData\\Music\\musYYY_jwbriefing_ep.ogg"
Mu241 BINARY "data\\GameData\\Music\\musYYY_overlay01_ol.ogg"
Mu242 BINARY "data\\GameData\\Music\\musYYY_overlay02_ol.ogg"
Mu243 BINARY "data\\GameData\\Music\\musYYY_overlay03_ol.ogg"
Mu244 BINARY "data\\GameData\\Music\\musYYY_overlay04_ol.ogg"
Mu245 BINARY "data\\GameData\\Music\\musYYY_overlay05_ol.ogg"
Mu246 BINARY "data\\GameData\\Music\\musYYY_overlay06_ol.ogg"
Mu247 BINARY "data\\GameData\\Music\\musYYY_overlay07_ol.ogg"
Mu248 BINARY "data\\GameData\\Music\\musYYY_overlay08_ol.ogg"
Mu249 BINARY "data\\GameData\\Music\\musYYY_overlay09_ol.ogg"
Mu250 BINARY "data\\GameData\\Music\\musYYY_overlay10_ol.ogg"
Mu251 BINARY "data\\GameData\\Music\\musYYY_overlay11_ol.ogg"
Mu252 BINARY "data\\GameData\\Music\\musYYY_overlay12_ol.ogg"
Mu253 BINARY "data\\GameData\\Music\\musYYY_overlay13_ol.ogg"
Mu254 BINARY "data\\GameData\\Music\\musYYY_overlay14_ol.ogg"
Mu255 BINARY "data\\GameData\\Music\\musYYY_overlay15_ol.ogg"
Mu256 BINARY "data\\GameData\\Music\\musYYY_overlay16_ol.ogg"
Mu257 BINARY "data\\GameData\\Music\\musYYY_overlay17_ol.ogg"
Mu258 BINARY "data\\GameData\\Music\\musYYY_overlay18_ol.ogg"
Mu259 BINARY "data\\GameData\\Music\\musYYY_overlay19_ol.ogg"
Mu260 BINARY "data\\GameData\\Music\\musYYY_overlay20_ol.ogg"
Mu261 BINARY "data\\GameData\\Music\\musYYY_overlay21_ol.ogg"
Mu262 BINARY "data\\GameData\\Music\\musYYY_overlay22_ol.ogg"
Mu263 BINARY "data\\GameData\\Music\\musYYY_overlay23_ol.ogg"
Mu264 BINARY "data\\GameData\\Music\\musYYY_overlay24_ol.ogg"
Mu265 BINARY "data\\GameData\\Music\\musYYY_overlay25_ol.ogg"
Mu266 BINARY "data\\GameData\\Music\\musYYY_overlay26_ol.ogg"
Mu267 BINARY "data\\GameData\\Music\\musYYY_overlay27_ol.ogg"
Mu268 BINARY "data\\GameData\\Music\\musYYY_overlay28_ol.ogg"
Mu269 BINARY "data\\GameData\\Music\\musYYY_suspensestate01_lp.ogg"
Mu270 BINARY "data\\GameData\\Music\\musYYY_suspensestate02_lp.ogg"
Mu271 BINARY "data\\GameData\\Music\\musYYY_suspensestate03_lp.ogg"
Mu272 BINARY "data\\GameData\\Music\\musYYY_suspensestate04_lp.ogg"
Mu273 BINARY "data\\GameData\\Music\\musYYY_suspensestate05_lp.ogg"
Mu274 BINARY "data\\GameData\\Music\\musYYY_titleCard_ep.ogg"
Mu275 BINARY "data\\GameData\\Music\\musYYY_vodeRemixText_lp.ogg"
Mu276 BINARY "data\\GameData\\Music\\musYYY01_Bscavintro_ep.ogg"
Mu277 BINARY "data\\GameData\\Music\\musYYY01_Econcstngr01_ep.ogg"
Mu278 BINARY "data\\GameData\\Music\\musYYY01_Egrievousflyby_ep.ogg"
Mu279 BINARY "data\\GameData\\Music\\musYYY01_EkotechordBb_ep.ogg"
Mu280 BINARY "data\\GameData\\Music\\musYYY01_Ezipmercs_ep.ogg"
Mu281 BINARY "data\\GameData\\Music\\musYYY01_EzipmercsJW_ep.ogg"
Mu282 BINARY "data\\GameData\\Music\\musYYY04_Acadence_lp.ogg"
Mu283 BINARY "data\\GameData\\Music\\musYYY04_Bcombat_ep.ogg"
Mu284 BINARY "data\\GameData\\Music\\musYYY04_Bmarchstngr_ep.ogg"
Mu285 BINARY "data\\GameData\\Music\\musYYY04_briefing_lp.ogg"
Mu286 BINARY "data\\GameData\\Music\\musYYY04_Cbomb_ep.ogg"
Mu287 BINARY "data\\GameData\\Music\\musYYY04_Dbattle_ol.ogg"
Mu288 BINARY "data\\GameData\\Music\\musYYY04_Dwookie_ep.ogg"
Mu289 BINARY "data\\GameData\\Music\\musYYY04_Ebattle_ol.ogg"
Mu290 BINARY "data\\GameData\\Music\\musYYY04_Emood_ep.ogg"
Mu291 BINARY "data\\GameData\\Music\\musYYY04_Gvictorystngr_ep.ogg"
Mu292 BINARY "data\\GameData\\Music\\musYYY04_suspense01.ogg"
Mu293 BINARY "data\\GameData\\Music\\uw1.ogg"
Mu294 BINARY "data\\GameData\\Music\\uw2.ogg"
Mu295 BINARY "data\\GameData\\Music\\uw-action-1.ogg"
Mu296 BINARY "data\\GameData\\Music\\UW-Ambient1.ogg"
Můžeš skusit
ShellExecute(NULL, "print", "C:\\obrazek.jpg",NULL, NULL, SW_SHOWDEFAULT)
Zdendo prosimtě, jsem asi úplný pako, ale měl bych dotaz. Lze nějakým způsobem nastavit cestu kam se má ten soubor extrahovat? Např. C:\Program Files\
Předchzí příspěvek beru zpět. Nevím proč , ale najednou to jde :D.
Ano máš pravdu že je to nepraktické ale pokud includuji zdroje_private.h tak to hlásí "file not found".
Už jsem to vyřešil. Musel jsem to udělat následovně, jinak to totiž nejde (u mě).
resource.rc jsem musel upravit takhle:
#define MAINMENU 40008
#define IDM_ABOUT 40010
#define IDM_NECO 40011
#define IDM_NECO2 40011
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Něco"
BEGIN
MENUITEM "&Něco", IDM_NECO
MENUITEM "&Něco", IDM_NECO2
END
Výsledek je stejný jako na screenu s tim rozdílem žě neumí #include "afxres.h"
A tobě to funguje OK (rc soubory)?
Tak jsem si stáhl Microsoft Visual c++ 2010
Měl bych jeden problém. Když chci vytvořit "resource.rc" a v něm MAINMENU (menu aplikace) tak to hází chyby.
spíš je chyba u mě ale nemaj se tam nainstalovat ještě nějaký patche?
Log:
1>------ Build started: Project: API, Configuration: Debug Win32 ------
1>
1>resource.rc(4): error RC2135: file not found: 40008
1>
1>
1>resource.rc(6): error RC2164: unexpected value in RCDATA
1>
1>
1>resource.rc(9): error RC2135: file not found: MENUITEM
1>
1>
1>resource.rc(10): error RC2135: file not found: MENUITEM
1>
1>
1>resource.rc(11): error RC2135: file not found: END
1>
1>
1>resource.rc(13): error RC2135: file not found: Aplikaci
1>
1>
1>resource.rc(14): error RC2135: file not found: END
1>
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
#include "afxres.h"
#include "zdroje_private.h"
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Něco"
BEGIN
MENUITEM "&Něco", IDM_NECO
MENUITEM "&Něco", IDM_NECO2
END
MENUITEM "&O Aplikaci", IDM_ABOUT
END
#define MAINMENU 40008
#define IDM_ABOUT 40010
#define IDM_NECO 40011
#define IDM_NECO2 40011
#include <windows.h>
#include <iostream>
#include <string>
#include <cctype>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <time.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <winuser.h>
#include <clocale>
#include <locale.h>
#include <ctype.h>
#include <Vfw.h>
#include <conio.h>
#include <Lmcons.h>
#include "zdroje_private.h"
using namespace std;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
TCHAR szAppName[] = TEXT("Pokusné okno");
HWND hWnd;
MSG msg;
WNDCLASSEX wc;
wc.cbSize = sizeof(wc);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hIconSm = NULL;
wc.hCursor = NULL;
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = MAKEINTRESOURCE(MAINMENU);
wc.lpszClassName = szAppName;
RegisterClassEx(&wc);
hWnd = CreateWindowEx(0,szAppName,
szAppName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
800,
650,
NULL,
NULL,
hInstance,NULL);
ShowWindow(hWnd, iCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
Prostě mi nefungují ěščřžýáíé. Jako v konzoli. Jinak liborb, stratil jsem "důvěru" v CODE::BLOCKS. Mohl by jsi mi něco doporučit?
V čem programuješ ty?
Ale teď mi to nedokáže zobrazit tyto znaky ěščřž.
Díky funguje
Dělám to v CODE:BLOCKS 8.02
Myslíš, že je chyba ve vývojovém protředí?
Jinak nikde nevytvářím žádný konzolový okno. Vytvoří se automaticky.
Vytvoří se i u tohoto primitivního zdrojáku
#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox(NULL, TEXT("Ahoj světe"), TEXT("Programujeme"),0);
return 0;
}
Nemohl jsem si vzpomenout na slovo konzole. Co se tíče toho vstupního bodu.
Mám WinMain ale neustále se startuje ta konzole. Nemůže to být tím že používám using namespace std; ?
Jinak zde máš "hlavičku" zdrojáku:
//Definované include
using namespace std;
//Prototipy funkcí
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hThisInstance,HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil)
{
...
}
JJ, už vím jak si to myslel.
Ale když už jsme u těch oken, potřeboval bych ještě vyřešit "jeden malý problém".
Když si napíšu zdroják na program který bude pracovat ve WIN32 API, tak se mi tam zobrazí ještě jedno okno (černo-býle ve stilu CMD ), a nevím jak ho skrýt nebo aspoň minimalizovat do tray.Protože když ho zavřu, tak se zavře i program ve WIN32 API.
Potřeboval bych tedy zjistit handle toho okna a příkaz ke skrytí.
Díky
Díky, BS_AUTOCHECKBOX funguje. Ale přeně nevím jak mám tj. kontrolovat hodnotu HIWORD.
V API jsem zatím začátečník
Ahoj, potřeboval bych pomoct s vytvořením checkboxu a zjištěním jeho "statusu".
Vše ve Win32 API
HWND podminka; // globální proměnná
.....
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDC_PODMINKY:
if ( IsDlgButtonChecked(hwnd, IDC_PODMINKY) )
MessageBox(hwnd, "Povoleno", "s", 0);
else
MessageBox(hwnd, "Zakazano", "s", 0);
return 0;
}
....
case WM_CREATE:
podminka = CreateWindowEx( NULL,"BUTTON", "Označ", WS_CHILD | WS_VISIBLE | BS_CHECKBOX, 658,150,35,15,hwnd(HMENU)IDC_PODMINKY, NULL,NULL);
return 0;
Už jsem na to přišel, jedná se o příkaz XCOPY
Ahoj, potřeboval bych pro můj program znát cmd příkaz ke kopírování stromů složek + souborů.
Jedná se o to že potřebuji dát programu příkaz na zkopírování složky "2K Games" (které obsahuje 100 podsložek a 3500 souborů)
do C:\2K Games
Díky
Seš borec !!!
Odstranil jsem v main.cpp
#include "zdroje.rc"
A už to fuguje.
Díky moc
Zjistil jsem novinku !
Takle vypadá původní kód *.rc. Překladač hlásí chybu v řádku s "MAINMENU MENU DISCARDABLE"
#include "zdroje_private.h"
#include "afxres.h"
//**************ZDROJE***********************
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "&Nový", IDM_NEW
MENUITEM "&Otevřít", IDM_OPEN
MENUITEM SEPARATOR
POPUP "Ta&jemství"
BEGIN
MENUITEM "&Tajemná truhla", IDM_SECRET
END
END
POPUP "&Ostatní"
BEGIN
MENUITEM "&Nápověda", IDM_HELP
MENUITEM "&Konec", IDM_CLOSE
MENUITEM SEPARATOR
MENUITEM "&O Aplikaci", IDM_ABOUT
END
END
IDI_ICON ICON DISCARDABLE "grafika/ikona.ico"
IDC_CURSOR CURSOR DISCARDABLE "grafika/kur.cur"
#include "zdroje_private.h"
#include "afxres.h"
//**************ZDROJE***********************
IDI_ICON ICON DISCARDABLE "grafika/ikona.ico"
IDC_CURSOR CURSOR DISCARDABLE "grafika/kur.cur"
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "&Nový", IDM_NEW
MENUITEM "&Otevřít", IDM_OPEN
MENUITEM SEPARATOR
POPUP "Ta&jemství"
BEGIN
MENUITEM "&Tajemná truhla", IDM_SECRET
END
END
POPUP "&Ostatní"
BEGIN
MENUITEM "&Nápověda", IDM_HELP
MENUITEM "&Konec", IDM_CLOSE
MENUITEM SEPARATOR
MENUITEM "&O Aplikaci", IDM_ABOUT
END
END
Furt se mu nelíbí žádek s MAINMENU.
Když mam někde chybu tak to většinou dělám tak , že určitou sekci smažu a napíšu znovu, bohužel API zatím v krvi nemám. Nemohl by jsi mi jako profík napsat celej *.rc znovu, podle sebe?
Takže přidal jsem
#define MAINMENU 4025
wc.lpszMenuName = "MAINMENU"
wc.lpszMenuName = MAKEINTRESOURCE(MAINMENU);
Ahoj potřeboval bych helpnout, momentálně se učím API a vyskytl se mi jeden problém bez kterého nemuhu pokračovat.
Jedná se o to že mi nejde vytvořit MAINMENU. BuildLog hlásí chybu v souboru zdroje.rc : error: 'MAINMENU' does not name a type
Zdrojové kódy:
zdroje.rc -
#include "zdroje_private.h"
#include "afxres.h"
//**************ZDROJE***********************
MAINMENU MENU DISCARDABLE
BEGIN
POPUP "&Soubor"
BEGIN
MENUITEM "&Nový", IDM_NEW
MENUITEM "&Otevřít", IDM_OPEN
MENUITEM SEPARATOR
POPUP "Ta&jemství"
BEGIN
MENUITEM "&Tajemná truhla", IDM_SECRET
END
END
POPUP "&Ostatní"
BEGIN
MENUITEM "&Nápověda", IDM_HELP
MENUITEM "&Konec", IDM_CLOSE
MENUITEM SEPARATOR
MENUITEM "&O Aplikaci", IDM_ABOUT
END
END
IDI_ICON ICON DISCARDABLE "grafika/ikona.ico"
IDC_CURSOR CURSOR DISCARDABLE "grafika/kur.cur"
#define IDI_ICON 101
#define IDC_CURSOR 102
#define IDM_NEW 40001
#define IDM_OPEN 40002
#define IDM_SECRET 40003
#define IDM_HELP 40004
#define IDM_CLOSE 40005
#define IDM_ABOUT 40006
#include <windows.h>
#include <iostream>
#include <string>
#include <cctype>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <time.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <winuser.h>
#include <clocale>
#include <locale.h>
#include <ctype.h>
#include <Vfw.h>
#include <conio.h>
#include <Lmcons.h>
#include "zdroje_private.h"
#include "zdroje.rc"
using namespace std;
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{
TCHAR szAppName[] = TEXT("Nazdárek celičkej světe:-)");
HWND hWnd;
MSG msg;
WNDCLASSEX wc;
wc.cbSize = sizeof(wc);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));
wc.hIconSm = NULL;
wc.hCursor = LoadCursor(hInstance,MAKEINTRESOURCE(IDC_CURSOR));
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = "MAINMENU";
wc.lpszClassName = szAppName;
RegisterClassEx(&wc);
hWnd = CreateWindowEx(0,szAppName,
szAppName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
800,
650,
NULL,
NULL,
hInstance,NULL);
ShowWindow(hWnd, iCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
Díky funguje to