как печатать в консоль цветные символы и запускать внешние приложения?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Дикс, 26 Jul 2007.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    сабж
    можно ли написать простое консольное приложение на Си с элементами Си++, но без классов?
     
  2. The_HuliGun

    The_HuliGun Elder - Старейшина

    Joined:
    19 May 2007
    Messages:
    191
    Likes Received:
    84
    Reputations:
    11
    Подумай над тем, что спросил. С++ есть розширение С. Если ты что то напишеш с елементами С++, ето будет уже не С.
     
  3. Helios

    Helios Elder - Старейшина

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    По теме:

    Запуск приложений:

    Code:
    using namespace std;
    
    int main()
    {
      system("explorer");
      return 0;
    }
    
     
    1 person likes this.
  4. gibson

    gibson Elder - Старейшина

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    ну для этого много не нужно.
    #include <iostream.h> - библиотека С++
    #include <conio.h> - библиотка где есть функции для бывода цветовых сообщений
    #include <graphics.h> - графическая библиотека =\

    void main()
    {
    textcolor(GREEN);
    cout<<"Hi from antichat";
    }
     
  5. tclover

    tclover nobody

    Joined:
    13 Dec 2005
    Messages:
    741
    Likes Received:
    682
    Reputations:
    287
    Code:
    #include <windows.h>
    #include <cstdio>
    	
    	int main(int argc, char **argv)
    	{
    		HANDLE hOut;
    		WORD cAttrib;
    		char newprocess[] = "C:\\windows\\system32\\calc.exe";
    		STARTUPINFO si;
    		PROCESS_INFORMATION piP;
    		
    		hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    		cAttrib = FOREGROUND_GREEN | FOREGROUND_INTENSITY;
    		SetConsoleTextAttribute(hOut, cAttrib);
    		printf("=\\");
    		//new process
    
    		ZeroMemory(&si, sizeof(STARTUPINFO));
    		si.cb = sizeof(STARTUPINFO);
    		CreateProcess(newprocess, NULL, NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE, NULL, NULL, &si, &piP);
    		WaitForSingleObject(piP.hProcess, INFINITE);
    		CloseHandle(piP.hThread);
     		CloseHandle(piP.hProcess);			
    		return 0;
    	}
    классов нет =\
    под си переделать не проблема =\
     
    #5 tclover, 26 Jul 2007
    Last edited: 26 Jul 2007
    2 people like this.
  6. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    Спасибо, ребята!
    В будущем всё освою до мелочей, а пока уже интереснее делать простые примеры ))
     
  7. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    а как запустить прогу с параметрами?
    system("gens.exe games/beyond_oasis.bin"); - запускает пустой эмулятор, а в батнике - запускается игра.
     
  8. da_ff

    da_ff Elder - Старейшина

    Joined:
    11 Jul 2006
    Messages:
    118
    Likes Received:
    22
    Reputations:
    26
    >> а как запустить прогу с параметрами?
    Code:
    ShellExecute(0, "open", TEXT("NOTEPAD"), TEXT("README.TXT"), nil, SW_SHOWNORMAL);
    
    или
    BOOL CreateProcess(
    PCTSTR pszApplicationName,
    PTSTR pszCommandLine,
    PSECURITY_ATTRIBUTES psaProcess,
    PSECURITY_ATTRIBUTES psaThread,
    BOOL bInheritHandles,
    DWORD fdwCreate,
    PVOID pvEnvironment,
    PCTSTR pszCurDir,
    PSTARTUPINFO psiStartInfo,
    PPROCESS_INFORMATION ppiProcInfo);
    Code:
    STARTUPINFO si = { sizeof(si) };
    PROCESS_INFORMATION pi;
    CreateProcess(NULL, TEXT("NOTEPAD"), NULL, NULL, FALSE,
        0, NULL, NULL, &si, &pi);
    
     
  9. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    пасибо!