Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 10:26   #1
silveran
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 22
По умолчанию

люди подскажите чайнику как убрать консольное окно
Код:
#define WINNT 1 // Define for using EndTask API

#include <windows.h>
#include <conio.h>
#include <stdio.h>

struct ProcInfo {
    HWND hWnd;
    DWORD dwProcId;
    CHAR szTitle[255];
    CHAR szClass[255];
};

int main()
{
    DWORD dwProcId;
    HWND hWnd;
    ProcInfo mProc[255];
    int mIdList[255];
    int nCount = 0;
    int nPID = 0;
    int i = 0;


    printf("Copyright (c) 2011 www.silverfox.uz\n\n");

    hWnd = FindWindow(0,0);

    while( hWnd > 0)
    {
        if (GetParent(hWnd) == 0) // && IsWindowVisible(hWnd)
        {
            GetWindowThreadProcessId(hWnd, &dwProcId);

            // Kiem tra xem OpenProcess co bi chan bang Hooking khong ?
            if (!OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcId))
            {
                mProc[nCount].hWnd = hWnd;
                mProc[nCount].dwProcId = dwProcId ;

                GetWindowTextA(hWnd, mProc[nCount].szTitle, 255);
                GetClassNameA(hWnd, mProc[nCount].szClass, 255);

                printf("%2d. ProcessId: %d\n   - Class Name: %s\n   - Window Title: %s\n",
                    nCount+1, dwProcId, mProc[nCount].szClass, mProc[nCount].szTitle);
                printf("   - Window Handle: 0x%X\n   - Window State: %s\n\n", 
                    hWnd, IsWindowVisible(hWnd) ? "Shown" : "Hidden"); 
                nCount++;

                for (i = 0; i < nPID; i++)
                    if (dwProcId == mIdList[i])  // Kiem tra co chua ?
                        break;

                if (i == nPID) 
                     mIdList[nPID++] = dwProcId; // Cho vao danh sach
            }
        }
        hWnd = GetWindow(hWnd, GW_HWNDNEXT); // Chuyen sang cua so ke tiep
    }
    
    printf("\n=> Detected %d windows of %d hidden process.\n", nCount, nPID);

    if (nCount > 0)
    {
        
        
            for (i = 0; i < nCount; i++)
            {
                if (IsWindow(mProc[i].hWnd)) // Cua so nay con ton tai khong ?
                {
                    // Thu tat lan luot bang 4 buoc ?
                    SendMessageA(mProc[i].hWnd, WM_CLOSE, 0, 0);    // 1. Close
                    SendMessageA(mProc[i].hWnd, WM_QUIT, 0, 0);     // 2. Quit
                    SendMessageA(mProc[i].hWnd, WM_DESTROY, 0, 0);  // 3. Destroy

                    
                    printf("\n [+] Found Window Handle 0x%08X of ProcessId %4d. Terminate: ",  
                        mProc[i].hWnd, mProc[i].dwProcId);
                    printf( IsWindow(mProc[i].hWnd) ? "Error" : "OK" ); // Kiem tra lai ket qua ?
                }
            }
        
    }

    printf("\n\n\n\n"); //  ^^!
    printf(" [+] \n [+] http://aion.uz\n [+] ");
    
return 0;
exit;
}
после компиляции даёт консольное окно.. есть ли возможность сделать так чтоб эта консоль не появлялась или по крайней мере по умолчанию была в трее, или оочень маленькое.. вапше ненащёл как это сделать((
Заранее спасибо
С Уважением Силверан

люди не проходите мимо, а то пол часа и темка потеряется.. гуру обратите внимание на чайника

Последний раз редактировалось Stilet; 20.05.2011 в 15:49.
silveran вне форума Ответить с цитированием
Старый 20.05.2011, 15:51   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
есть ли возможность сделать так чтоб эта консоль не появлялась
Да. Перевести этот код в соответствующий тип проекта Win32 Application и поубирать везде printf.
Например в VS он может выглядеть так:
Код:
#include "stdafx.h"
#include "gdd.h"
#include <Windows.h>

#define MAX_LOADSTRING 100


int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
	Тут твой код без функций вывода
	return 0;
}
I'm learning to live...

Последний раз редактировалось Stilet; 20.05.2011 в 15:59.
Stilet вне форума Ответить с цитированием
Старый 20.05.2011, 16:58   #3
silveran
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 22
По умолчанию

блин нет вижл студио.. и в глаза её не видел никогда.. а возможно тоже самое повторить в minGV?
silveran вне форума Ответить с цитированием
Старый 20.05.2011, 17:03   #4
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

Код:
void main (int argc, char **argv){
HWND hwnd;
hwnd=GetForegroundWindow();
ShowWindow(hwnd, SW_HIDE);
}
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 20.05.2011, 22:16   #5
silveran
Пользователь
 
Регистрация: 14.03.2011
Сообщений: 22
По умолчанию

люди понимаю наглость.. но нету у мне вижл студио, а над прям шас.. может кто помочь? конечный дать?
silveran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Консольное окно в glut Invisible_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 23.04.2011 00:29
Интегрировать консольное окно с окном приложения aleks.halk Помощь студентам 0 05.03.2011 22:40
Консольное окно A-D_1.618 Помощь студентам 0 29.01.2011 04:22
Консольное окно Buildera Urukhay4 Общие вопросы C/C++ 3 07.05.2009 20:23
Убрать консольное окно Иллидан Общие вопросы Delphi 1 09.06.2008 09:03