ďťż

Ładny brzuch

Witam.

Mam pewien problem, mianowicie napisalem program pod linie polecen Xp (czysty C++) i teraz mi przyszlo uzyc jednej funkcji WinApi (RegQueryInfoKey) i tu moje pytanie.

Czy da sie jakos wstawic sama funkcje tak aby nie trzeba bylo zmieniac calego prog na okienkowy ? Jesli tak to w jaki sposób ?

Z gory dzieki za pomoc i pozdrawiam



Możesz spokojnie korzystać z funkcji z WinAPI w programach konsolowych.

Dołąnczajac tylko
#include <windows.h>
nie potrzeba nic linkowac...

Nic nie potrzeba. A w ogóle próbowałeś użyć tej funkcji w tym swoim programie, czy tylko pytasz profilaktycznie?
Użytkownik Futhark edytował ten post 29 czerwiec 2005, 22:50


Raczej profilaktycznie -_-'
Ja juz tak mam ze wszystko musze wiedziec na zapas i pytam sie po 3 razy xD

Dzieki Pozdrawiam

Oj nie wiem czy bedzie dzialac ( glowy urwac nie dam :) ), chcociaz jezeli skompilujesz to jako kod 32-bitowy to bedzie na 100%, sprawa bedzie sie miala gorzej, jezeli skompilujesz to jako program 16-bitowy. Wtedy windows bedzie to obslugiwal jako kod 8086, wiec utworzy proces z flaga VM (virtual mode) ( virtual mode to tryb pracy procesu, podczas ktorego scheduler przed przeskoczeniem do selektora (tak prawdopodobnie jest w windzie) wlacza tryb rzeczywisty. W takim trybie masz 16-bitowe adresowanie itp, itd. ) wiec w takim wypadku funkcje API odpadają (w rmode nie masz GDT - a API to callgate w GDT:P).

no i znowu ten belkot - robisz to celowo? kto w dzisiejszych czasach kompiluje programy 16-bitowe bez konkretnego powodu?

Ciebie koles z choinki urwało??
Wiesz, niektórzy by chcieli wiedziec dlaczego dziala lub niedziala, a nie tylko jedno slow "Tak/Nie".
I na nastepny raz nie chwal się swoim brakiem wiedzy o kompach.
Takie sa strony internetowe chyba: http://od_zera_do_lamera.pl itp, itd..

lol, kazdy glupek potrafi przeczytac manuale ze strony intela i pieprzyc od rzeczy tak jak ty :> przychodzisz na TAKIE forum i szpanujesz, ze wiesz co to jest GDT, i probujesz jeszcze pokazac, ze ja nie wiem :> wstydz sie :D

Hm.. a teraz jeszcze jedno pytanie...zrobilem cos takiego

int main() {    char sciezka[1000] = "Software\\Gadu-Gadu\\Gadu-Gadu\\Startup\\LastProfile" ;    LONG rozmiar = 50;    LONG *p_size = & rozmiar;    char vKey[rozmiar];        char *p_value = & vKey[0];        RegQueryValue( HKEY_CURRENT_USER, sciezka, p_value, p_size);    cout << vKey <<endl;    system("pause"); return 0; }

Niby wszystko dziala poprawnie a jednak do vKey jest zapisywana wartosc
"BN?w ?@" a powinno byc "test" i mimo zmiany wartosci klucza funkcja dalej
odczytuje to samo -_-'
Dlczego, albo co ja robie nie tak :/
Użytkownik patseb edytował ten post 30 czerwiec 2005, 23:48
int main() {   char sciezka[1000] = "Software\\Gadu-Gadu\\Gadu-Gadu\\Startup";   LONG rozmiar = 50;   LONG *p_size = & rozmiar;   char vKey[rozmiar];   HKEY h;     RegOpenKeyEx(HKEY_CURRENT_USER,sciezka,0,KEY_QUERY_VALUE,&h);   RegQueryValueEx(h,"LastProfile",NULL,NULL,(BYTE*) &vKey,(DWORD*) p_size);   cout << vKey <<endl;   system("pause"); return 0; }

Niestety ale to takze nie zwraca poprawnej wartości tego klucza -_-


Ciebie koles z choinki urwało??
Wiesz, niektórzy by chcieli wiedziec dlaczego dziala lub niedziala, a nie tylko jedno slow "Tak/Nie".
I na nastepny raz nie chwal się swoim brakiem wiedzy o kompach.
Takie sa strony internetowe chyba: http://od_zera_do_lamera.pl itp, itd..

A od kiedy pod linie polecen winXP nie napiszesz 16-bitowego programu??
ja pod windą prawie zawsze kompiluje tylko 16-bitowey kod (jezeli program jest tekstowy)

Nie mowie, ze nie mozna - sam pisalem 16-bitowe. To co mowie - to to zeby czytac z uwaga co autor pisze i zrozumiec (jezeli sie chce cos powiedziec) co on ma na mysli. A nie wysylac marcepanowego czopka na choinke :)
Użytkownik st3tc edytował ten post 01 lipiec 2005, 11:08
hehehehehehehehehe ( to potym jak przeczytalem o czopku )
Luzzzz

wlasnie :)
regst - przeczytaj chociaz do konca to co teraz napisze.
przyjales postawe "jestem master, umiem programowac systemy operacyjne, wiem jak dziala x86, nikt inny nic nie wie, wszyscy to lamerzy". dlaczego tak uwazam? bo na pytanie o uzywanie funkcji winapi w trybie konsolowym (nikt nic nie mowil o 16 bitach) zaczynasz gadac o GDT i call gate'ach. jak juz st3tc slusznie zauwazyl, nie tylko ty piszesz takie rzeczy, juz pomijajac jego, to mamy ze st3tcem takiego znajomego ktory napisal okienkowy system operacyjny (SenseOS, moze slyszales) i raczej nam nie zaimponujesz tym co robisz, to nie jest tak bardzo elitarne jak ci sie wydaje :> poza tym, jaki jest sens pisania taki rzeczy? ja tez moge w odpowiedzi na posta o dupie maryni pisac o algorytmach aproksymacyjnych problemow NP-zupelnych albo o tym jak dowodzic zachlannosc niektorych algorytmow za pomoca matroidow wazonych. ale po co? nie wywyzszaj sie i nikt sie nie bedzie do ciebie przyczepial.

Dalej jestem pod wrazeniem tego czopka (bez urazy), jezeli chodzi o wywyzszanie sie to uwiez - trafiles pod zly adres i to baardzo zly.
Takie posty jak ja pisze się po to by niekoniecznie odpowiedziec na pytanie, tylko zeby m.in przelac czesc swojej wiedzy na forum. Moze kiedys ktos bedzie szukal odpowiedzi na pytania dotyczace np. 16-bitowego trybu i zobaczy moją odpowiedz. Uwiez ja nie szukam wrogow na tym forum tylko programistow :)
I nikomu oprocz tych co *sie_znają nie szkodzi ze takie posty są na forum.
* znają się, czy tylko im sie wydaje - nie wnikam:P

Luzzz i Zastanowcie się jeszcze raz na pisaniem O.S'a - ja zaczynalem rok temu tez na tym forum!!! i wtedy pisalem aplikacje typu kolko i krzyzyk!!!
NA SERIO!!!

lol, z twojej wypowiedzi nadal wynika to co napisalem wczesniej.

Co ten topik jeszcze jest? admini doradzam loka, z doświadczenia wiem
ze wyjdzie X-stron beznadziejnej kłótni :)

st3tc: niedawno(dzisiaj) czytałem stary topik gdzie pan KisielTurbo :) spierał się z shycha o asemblerka czujesz analogie ;D :] ;p (a mowią że historia uczy ;D)

pozdro
spax.
Użytkownik spax edytował ten post 01 lipiec 2005, 12:00
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •