• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

W jaki sposób przejść na stronę przez program?

Object Storage Arubacloud
0 głosów
277 wizyt
pytanie zadane 19 października 2016 w C i C++ przez Shiro Stary wyjadacz (10,300 p.)
Hej,

Chciałbym aby program gdy kliknę na button wszedł na podany przeze mnie adres.

ShellExecute(NULL, "open", "adres", SW_SHOWNORMAL); <-- Nie działa

Ja używam VS2012 CLR ..

1 odpowiedź

0 głosów
odpowiedź 19 października 2016 przez JAKUBW Nałogowiec (33,470 p.)

Spróbuj:

ShellExecute(NULL, "open", "adres", NULL, NULL, SW_SHOWNORMAL); 

Lub


ShellExecuteA(NULL, ("open"), LPCSTR("https://www.google.pl/"), NULL, NULL, SW_SHOWNORMAL);

A co nie działa? Pamiętaj, aby dołączyć bibliotekę windows.h

komentarz 19 października 2016 przez Shiro Stary wyjadacz (10,300 p.)
Oto lista błędów:

Error    1    error C2065: 'NULL' : undeclared identifier    c:\users\shirobachi\desktop\mat\mat\MainWindows.h    158    1    Mat
Error    2    error C2065: 'SW_SHOWNORMAL' : undeclared identifier    c:\users\shirobachi\desktop\mat\mat\MainWindows.h    158    1    Mat
Error    3    error C3861: 'ShellExecuteA': identifier not found    c:\users\shirobachi\desktop\mat\mat\MainWindows.h    158    1    Mat
Error    4    error C3861: 'LPCSTR': identifier not found    c:\users\shirobachi\desktop\mat\mat\MainWindows.h    158    1    Mat
    5    IntelliSense: identifier "NULL" is undefined    c:\Users\Shirobachi\Desktop\Mat\Mat\MainWindows.h    158    16    Mat
    6    IntelliSense: identifier "SW_SHOWNORMAL" is undefined    c:\Users\Shirobachi\Desktop\Mat\Mat\MainWindows.h    158    78    Mat
 

Dodałem bibliotekę windows.h do pliku *.cpp a linia wywołująca przeglądarkę jest w pliku *.h

Jestem dość zielony więc proszę o wyrozumiałość.
komentarz 19 października 2016 przez JAKUBW Nałogowiec (33,470 p.)
To zrobiłeś źle. Definicje funkcji muszą być w pliku .cpp a w .h deklaracje. Natomiast jeżeli korzystasz z ShellExecute to #include <windows.h> dajesz w tym pliku w którym korzystasz z tej biblioteki.
komentarz 19 października 2016 przez Shiro Stary wyjadacz (10,300 p.)
Rozumiem myślałem że include jest zawsze w *.h jednak po dodaniu tego do *.cpp okazuje się że jest masa nowych błędów nie związanych z moimi liniami (po ich wy komentowaniu błędy pozostają)

Oto i one:

Error    1    error C3699: '*' : cannot use this indirection on type 'Mat::IDataObject'    C:\Program Files (x86)\Windows Kits\8.1\Include\um\objidl.h    12121    1    Mat
Error    2    error C2371: 'Mat::IDataObject' : redefinition; different basic types    C:\Program Files (x86)\Windows Kits\8.1\Include\um\objidl.h    12136    1    Mat
Error    3    error C3699: '*' : cannot use this indirection on type 'Mat::IMessageFilter'    C:\Program Files (x86)\Windows Kits\8.1\Include\um\objidl.h    12516    1    Mat
Error    4    error C2371: 'Mat::IMessageFilter' : redefinition; different basic types    C:\Program Files (x86)\Windows Kits\8.1\Include\um\objidl.h    12566    1    Mat
Error    5    error C3699: '*' : cannot use this indirection on type 'Mat::IDropTarget'    c:\program files (x86)\windows kits\8.1\include\um\oleidl.h    3458    1    Mat
Error    6    error C2371: 'Mat::IDropTarget' : redefinition; different basic types    c:\program files (x86)\windows kits\8.1\include\um\oleidl.h    3498    1    Mat
Error    7    error C3699: '*' : cannot use this indirection on type 'Mat::IServiceProvider'    c:\program files (x86)\windows kits\8.1\include\um\servprov.h    92    1    Mat
Error    8    error C2371: 'Mat::IServiceProvider' : redefinition; different basic types    c:\program files (x86)\windows kits\8.1\include\um\servprov.h    99    1    Mat
    9    IntelliSense: an ordinary pointer to a C++/CLI ref class or interface class is not allowed    c:\Program Files (x86)\Windows Kits\8.1\Include\um\ObjIdl.h    12121    58    Mat
    10    IntelliSense: an ordinary pointer to a C++/CLI ref class or interface class is not allowed    c:\Program Files (x86)\Windows Kits\8.1\Include\um\ObjIdl.h    12516    39    Mat
    11    IntelliSense: an ordinary pointer to a C++/CLI ref class or interface class is not allowed    c:\Program Files (x86)\Windows Kits\8.1\Include\um\oleidl.h    3458    58    Mat
    12    IntelliSense: an ordinary pointer to a C++/CLI ref class or interface class is not allowed    c:\Program Files (x86)\Windows Kits\8.1\Include\um\servprov.h    92    63    Mat
 

Dzięki za pomoc ; )
komentarz 19 października 2016 przez JAKUBW Nałogowiec (33,470 p.)

Najwidoczniej źle podzieliłeś na pliki. To już musisz sam rozkminić. sad

komentarz 20 października 2016 przez Shiro Stary wyjadacz (10,300 p.)
Gdzie należy umieścić include ? Czy umieszczenie zaraz po using namespace jest ok ?

Jeśli ktoś by miał czas i chęć aby zobaczyć co jest nie tak to tutaj jest link: http://shiro.syntax-shell.me/Matemaks.rar
komentarz 21 października 2016 przez JAKUBW Nałogowiec (33,470 p.)
Tam gdzie definicje preprocesora czyli przed using namespace std.

Podobne pytania

0 głosów
3 odpowiedzi 195 wizyt
0 głosów
1 odpowiedź 537 wizyt
pytanie zadane 9 listopada 2017 w JavaScript przez revizor451 Obywatel (1,930 p.)
0 głosów
3 odpowiedzi 6,705 wizyt

92,551 zapytań

141,393 odpowiedzi

319,522 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...