Yazar |
|
mstfhrgl
Kayıt: 17.10.2010 |
|
yönetici olarak çalıştırmayı denemiştim, olmamıştı. registry api 'yi kullanmayı denym..
|
|
Yazar |
|
mstfhrgl
Kayıt: 17.10.2010 |
|
#include <stdio.h>
#include <windows.h>
int main()
{
HKEY hMyKey;
DWORD dwMyDw;
const BYTE *data = "deneme";
if (RegCreateKeyEx(HKEY_CURRENT_USER,"deneme\\deneme",
0,NULL,0,KEY_ALL_ACCESS,NULL,&hMyKey,&dwMyDw) != ERROR_SUCCESS) {
printf("hata\n");
exit(EXIT_FAILURE);
}
RegSetValueEx(hMyKey,"anahtardeneme",0,REG_EXPAND_SZ,data,6);
RegCloseKey(hMyKey);
return 0;
}
const BYTE *data = "deneme"; burada hata alıyorum: invalid conversion from `const char*' to `const BYTE*' şeklinde. nerede hata yapıyorum??
|
|
Yazar |
|
clairvoyant
Antalya
Kayıt: 05.05.2006 |
|
const BYTE *data = "deneme";
BYTE her ne kadar unsigned char ile aynı olsa da bu gösterim yalnızca char * için geçerli. Normalde pointer olarak tanımlanan değişkenler için bellekten alan tahsis etmek gerekir.
Derleyiciler char *data = "deneme" gibi bir ifade gördüklerinde o ifadeyi
char * data = (char *) malloc(7*sizeof(char)); gibi yorumlarlar.
Kodundaki ifadeyi;
BYTE data[64] = "deneme";
veya
BYTE * data = (BYTE *) malloc(64*sizeof(BYTE));
memcpy(data, "deneme", strlen("deneme"));
Şeklinde gösterebilirsin, veya daha kullanışlı olması açısından;
BYTE data[64];
char dataString[64];
şeklinde tanımlayıp, dataString'e istediğin bir stringi (strcpy, scanf, fscanf vs. kullanarak) kopyaladıktan sonra:
memcpy(data, dataString, strlen(dataString));
gibi bir yapı kullanabilirsin.
Bu arada, fonsiyonun const BYTE * tipinde parametre belirtmesi o parametrenin const BYTE * olarak tanımlanmış bir nesne olması gerektiği anlamına gelmiyor. Bu sadece fonksiyonun o paramtrenin gösterdiği bellek alanında değişiklik yapamayacağını gösterir.
Let`s make this world a better place to live !
|
|
Yazar |
|
mstfhrgl
Kayıt: 17.10.2010 |
|
teşekkür ederim sorun çözüldü..
|
|
Yazar |
|
clairvoyant
Antalya
Kayıt: 05.05.2006 |
|
Rica ederim, kolay gelsin.
Let`s make this world a better place to live !
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| |