• Где скачать оригинальный iso образ windows 7 64bit?

    @none7
    Хэши MSDN образов вполне изестны, по ним и ищи и естественно проверяй, чтобы хэши совпадали.
    хеши
    Windows 7 Enterprise with Service Pack 1 (x64) - DVD (Russian)
    Имя файла: ru_windows_7_enterprise_with_sp1_x64_dvd_620287.iso
    Дата публикации (UTC): 2/21/2011 8:38:23 AM
    SHA1: CB3C15A978BA75611AA5C93285324FD1DE3CB7C1
    ISO/CRC: CAC769A3

    Windows 7 Enterprise with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_enterprise_with_sp1_x86_dvd_620274.iso
    Дата публикации (UTC): 2/21/2011 8:38:22 AM
    SHA1: 471CCAB94A419748A4F870A44C4E0DFDB479E6C0
    ISO/CRC: 4939C668

    Windows 7 Home Basic with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_home_basic_with_sp1_x86_dvd_620780.iso
    Дата публикации (UTC): 2/21/2011 8:49:34 AM
    SHA1: DA552668D4C3AF080AD17566BA1CA864641B5850
    ISO/CRC: 0377B39A

    Windows 7 Home Premium with Service Pack 1 (x64) - DVD (Russian)
    Имя файла: ru_windows_7_home_premium_with_sp1_x64_dvd_621577.iso
    Дата публикации (UTC): 2/21/2011 8:52:26 AM
    SHA1: 7B73F0A9151E2C11E91C36CDAF4BFA3D349F68F7
    ISO/CRC: C51D439F

    Windows 7 Home Premium with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_home_premium_with_sp1_x86_dvd_620978.iso
    Дата публикации (UTC): 2/21/2011 8:52:27 AM
    SHA1: 9B37220C22E046B3F6D21D87707D5471CFFFA87E
    ISO/CRC: 75DBC07E

    Windows 7 Professional with Service Pack 1 (x64) - DVD (Russian)
    Имя файла: ru_windows_7_professional_with_sp1_x64_dvd_621772.iso
    Дата публикации (UTC): 2/21/2011 8:40:25 AM
    SHA1: F8743D24915BF467962BD4D775D7CBEC5451D3E2
    ISO/CRC: EA01C90C

    Windows 7 Professional with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_professional_with_sp1_x86_dvd_622656.iso
    Дата публикации (UTC): 2/21/2011 8:40:27 AM
    SHA1: AB1BB0E5AE6F7621CCC56A17A357E8C38A1E48E2
    ISO/CRC: B240FAC0

    Windows 7 Professional with Service Pack 1, VL Build (x64) - DVD (Russian)
    Имя файла: ru_windows_7_professional_with_sp1_vl_build_x64_dvd_622441.iso
    Дата публикации (UTC): 2/21/2011 8:42:07 AM
    SHA1: 80C6D59296C9A9FD04870660CBCA8FE5043C4C6D
    ISO/CRC: 88911C08

    Windows 7 Professional with Service Pack 1, VL Build (x86) - DVD (Russian)
    Имя файла: ru_windows_7_professional_with_sp1_vl_build_x86_dvd_623503.iso
    Дата публикации (UTC): 2/21/2011 8:54:43 AM
    SHA1: 7ADDFF4B0CA884BC1EE4416C15C3AB1DB48C0FF9
    ISO/CRC: 55B81FFC

    Windows 7 Starter with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_starter_with_sp1_x86_dvd_624076.iso
    Дата публикации (UTC): 2/21/2011 8:55:44 AM
    SHA1: BA493859E5981F113C5D7205AB202DC45DC0E7C5
    ISO/CRC: D5C8C240

    Windows 7 Ultimate with Service Pack 1 (x64) - DVD (Russian)
    Имя файла: ru_windows_7_ultimate_with_sp1_x64_dvd_618249.iso
    Дата публикации (UTC): 2/21/2011 8:43:31 AM
    SHA1: EDFB096BC3D7DDE2BB4933EC9D2DBAC4581689DB
    ISO/CRC: 07E17D28

    Windows 7 Ultimate with Service Pack 1 (x86) - DVD (Russian)
    Имя файла: ru_windows_7_ultimate_with_sp1_x86_dvd_619117.iso
    Дата публикации (UTC): 2/21/2011 8:43:33 AM
    SHA1: 17165FE9D23F5ED17D645041B911EADDFB30347E
    ISO/CRC: AD224F2D

    Windows Automated Installation Kit for Windows 7 and Windows Server 2008 R2 Service Pack 1 (x86, x64, ia64) - DVD (Russian)
    Имя файла: ru_windows_automated_installation_kit_for_windows_7_and_windows_server_2008_r2
    _sp1_x86_x64_ia64_dvd_
    619708.iso
    Дата публикации (UTC): 2/21/2011 8:35:22 AM
    SHA1: 5FDEB15191077A25A2DF87AB3852CF8A6DBF2109
    ISO/CRC: 6AAFB7E3
    Ответ написан
    Комментировать
  • Как правильно передавать данные через сокеты?

    @none7
    send и recv это функции работающие с бинарными данными. Для них очень важна корректная длина.
    send(newConnection, msg, sizeof(msg), NULL); sizeof это чисто сишная конструкция. В данном случае она возвращает 4 или 8 в зависимости от архитектуры машинного кода программы. То есть размер указателя.
    Ответ написан
    Комментировать
  • Правильно ли я понимаю что такое Язык программирования?

    @none7
    Ассемблер это тоже не более чем формализированный текстовый файл, компиляторы оперируют машинными кодами, которые процессор воспринимает как конкретную инструкцию к действию. Для процессора нет ни функций, ни переменных лишь память в стиле JS-TypedArray и последовательности инструкций вроде load, store, add, sub, compare, goto to ptr if(compare is signed_less), в той же памяти в виде бинарных чисел.
    Именно Ваш пример любой оптимизирующий компилятор просто сотрёт. То есть просто запишет инструкцию return попутно ругнувшись на unused variable, а может вообще стереть всю функцию и её вызовы, ведь это никак не повлияет на результат.
    Хотя конечно зная один из Ассемблеров выбранной процессорной архитектуры(а их как известно немало) можно без особого труда написать примитивный, не оптимизирующий компилятор, который будет передавать сгенерированный Ассемблерный файл в транслятор Ассемблера. Который просто транслирует Ассемблерные инструкции в соответствующие бинарные, машинные инструкции.
    Вообще если хотите сделать свой язык программирования, то советую смотреть в сторону llvm. Это позволит Вам не заморачиваться с поддержкой бесчисленных процессорных архитектур и оптимизации машинных кодов под них. На хабре даже есть статья как сделать свой llvm компилятор.
    Ответ написан
    Комментировать
  • Имеет ли смысл использовать асинхронные вызовы в консольных программах Don net core, если алгоритм обработки последователен?

    @none7
    Асинхронность в C# это кооперативная многозадачность. Если многозадачность внутри процесса не нужна, то и асинхронность тоже. Наоборот будет немного медленнее работать и жрать чуть больше памяти. Когда синхронная задача ждёт данных, она не занимает процессорное время. Поток уходит в ядро ОС и диспетчер потоков переключается на другой поток или уводит процессорное ядро в режим ожидания.
    Ответ написан
    Комментировать
  • Как реализовать обмена данных между ПК и смартфон?

    @none7
    Поднять на ПК обычный web-сайт. Приложения нужны, когда нужен доступ к функциям недоступным web-приложениям. Или нужно максимальное выжимание производительности из NDK. Если хочется иконку на смартфоне, то оформить сайт как PWA.
    Ответ написан
    Комментировать
  • Как пользоваться функцией EnumWindows?

    @none7
    #include <Windows.h>
    #include <string>
    #include <iostream>
    
    using namespace std;
    
    static BOOL CALLBACK enumWindowCallback(HWND func_hWnd, LPARAM lparam) {
        int length = GetWindowTextLengthA(func_hWnd);
    
        if (length != 0) {
            string windowTitle(length, '\0');
            GetWindowTextA(func_hWnd, windowTitle.data(), length + 1); // ANSI version and func_hWnd
            std::cout << func_hWnd << ":  " << windowTitle << std::endl;
        }
        return TRUE;
    }
    
    int main() {
        SetConsoleOutputCP(GetACP());
        EnumWindows((WNDENUMPROC)enumWindowCallback, 0);
        system("pause");
        return 0;
    }
    Ответ написан
    4 комментария
  • Как исправить ошибку в VS2019 С# "Индекс находился вне границ массива."?

    @none7
    Максимально возможное значение line1 и line2 равно pow(block_size,3), а размер map pow(block_size,2). Естественно, что значение переполняется.
    Ответ написан
    Комментировать
  • Socket разрывает соединение при движении мышкой, как решить?

    @none7
    Именно в таком варианте, поток сразу после коннекта завершается. Что происходит с объектом(Socket) ссылка на который теряется? Он становится мусором и уничтожается когда сборщик мусора соизволит запуститься. В Вашем случае он запускается при действиях с WPF.
    Ответ написан
  • Есть ли функция валидации Ipv4 в C++?

    @none7
    А смысл его валидировать? Вот будет ваша программа принимать только 4 десятичных числа от 0 до 255 разделённых точкой, в то время как большая часть софта нормально переваривает и восьмеричные с шестнадцетеричными числами. И даже 0x7f000001 признаётся нормальным адресом. Всё эти программы пользуются функцией inet_aton, реализованной в каждой ОС. Но это чистый Си, не С++.
    Ответ написан
    Комментировать
  • Как обратиться к значению словаря по ключу Dictionary в C#?

    @none7
    Dictionary строит хеш-таблицу на основе значений возвращённых методом GetHashCode каждого ключа, а так же производит сравнение ключей методом Equals. Класс Dictionary насколько я знаю не переопределяет эти методы, а значит GetHashCode создаётся из указателя. То есть в качестве ключа можно использовать тот самый объект, с которым добавляли новый ключ или если ссылка на него утрачена, то можно его получить через итерацию ключей.
    Никогда не используйте такие конструкции! Dictionary предназначен для работы только с неизменяемыми ключами отдающими всегда один и тот же хеш на основе содержимого объекта.
    Хотя если этот Ваш Dictionary<Dictionary<string, string>, int> создан с компаратором, который из Dictionary<string, string> вычисляет хеш и проверяет равенство объектов по содержимому, то можно просто создать новый Dictionary<string, string> с нужными ключами и значениями и использовать его в качестве ключа. А если не создан то можно создать новый Dictionary на его основе уже с компаратором.
    Ответ написан
    1 комментарий
  • Возможно ли установить программу в песочницу?

    @none7
    Песочница всего лишь не позволяет вносить изменения в систему, но программа видит систему полностью, так как она есть. Если хотите установить несколько экземпляров, то деинсталлируйте Вашу программу из системы и создайте две отдельные песочницы.
    Ответ написан
    1 комментарий
  • Как скомпилировать и дебажить первый драйвер?

    @none7
    Насколько я знаю, штатный Windows debugger не может отлаживать ядро или драйверы локально. Это Softice такое умел и больше никто. Отладка ядра это такая вещь, которая может привести к краху системы. Ведь безобидный на первый взгляд break point устанавливаемый при каждом single step в случае попадания в него не отлаживаемого потока сломает этот ядерный поток. А ядерный отладчик ведь точно так же нуждается в корректной работе этого самого ядра и работа с отладчиком порождает в ядре множество потоков.
    Так, что без второй машины, отлаживать ядро Вы можете только по логам и крашам. Как Вы думаете, почему ядерный программистов так мало?
    Ответ написан
    1 комментарий
  • Как вызвать CreateThread внутри Form?

    @none7
    Пример
    #include <Windows.h>
    
    DWORD WINAPI ThreadProc(LPVOID param); // строчка необходима, чтобы весь код выше реализации функции её видел
    public ref class Form1 : System::Windows::Forms::Form {
        System::Windows::Forms::Button^ button1;
        System::Windows::Forms::Label^ label1;
    
        void InitializeComponent() {
            this->button1 = gcnew System::Windows::Forms::Button();
            this->label1 = gcnew  System::Windows::Forms::Label();
            this->SuspendLayout();
    
            this->button1->Location = System::Drawing::Point(205, 95);
            this->button1->Name = "button1";
            this->button1->Size = System::Drawing::Size(75, 23);
            this->button1->TabIndex = 0;
            this->button1->Text = "button1";
            this->button1->UseVisualStyleBackColor = true;
    
            this->label1->AutoSize = true;
            this->label1->Location = System::Drawing::Point(218, 153);
            this->label1->Name = "label1";
            this->label1->Size = System::Drawing::Size(44, 16);
            this->label1->TabIndex = 1;
            this->label1->Text = "label1";
    
            this->AutoScaleDimensions = System::Drawing::SizeF(8.0, 16.0);
            this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
            this->ClientSize = System::Drawing::Size(485, 292);
            this->Controls->Add(this->label1);
            this->Controls->Add(this->button1);
            this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::FixedSingle;
            this->MaximizeBox = false;
            this->Name = "Form1";
            this->Text = "Form1";
            this->ResumeLayout(false);
            this->PerformLayout();
        }
    public:
        static Form1^ myform;
        Form1() {
            InitializeComponent();
            myform = this;
            button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
        }
        void SetLabel(System::Int32 i) {
            label1->Text = i.ToString();
        }
    private:
        void button1_Click(System::Object^ sender, System::EventArgs^ e) {
            ::CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, NULL, 0, NULL);
        }
    };
    DWORD WINAPI ThreadProc(LPVOID param) {
        for (int i = 1; i <= 5; i++) {
            ::Sleep(1000);
            // Invoke вызывает указанный метод в потоке окна. MS не обещает синхронизацию
            // потоков для gui-кода. Если не использовать данный метод, то в худшем случае приложение
            // упадёт внутри небезопасных библиотек
            // то есть никаких нормальных исключений не будет. Только хардкорный SEH.
            Form1::myform->Invoke(gcnew System::Action<System::Int32>(Form1::myform, &Form1::SetLabel), i);
        }
        return 0;
    }
    int main(array<System::String^>^ args) {
        System::Windows::Forms::Application::EnableVisualStyles();
        System::Windows::Forms::Application::SetCompatibleTextRenderingDefault(false);
        System::Windows::Forms::Application::Run(gcnew Form1());
        return 0;
    }
    Ответ написан
  • C#| winforms | Кнопка с меню | Как создать кнопку такого вида?

    @none7
    Создаешь кастомный Control. Рисуешь в нём это всё через Graphics с учётом разного размера и разного dpi(попутно проклинаешь себя за свою креативность). Переопределяешь метод OnClick и в нём получаешь координаты клика на поверхности контролла this.PointToClient(Cursor.Position). Высчитав в какой части контролла установлен курсор, реализуешь различное поведение для левой и правой части.
    Если нужна ещё и возможность работы через клавиатуру, без мыши, то придётся создавать два контролла и ставить их рядом.
    Ответ написан
    2 комментария
  • Как повысить привилегии в системе без sudoers?

    @none7
    Для скрипта никак. Придётся писать обёртку на компилируемом языке, которая вызовет функции setuid и setgid, а затем запустит скрипт. На бинарник обёртки уже можно поставить флаг S как написал Александр Карабанов. Пример обёртки:
    #include <sys/types.h>
    #include <unistd.h>
    #include <stdlib.h>
    
    int main() {
      setuid(0);
      setgid(0);
      system("/path/to/script");
    }

    При этом естественно владельцем файла должен быть пользователь чьи права нужно получить. То есть для данной обёртки нужно выполнить chown root:root /path/to/file. Правда программа с UID==0, может установить себе любой UID. Вот так вот и работают sudo и su.
    Ответ написан
    1 комментарий
  • Как через wininet делать несколько запросов в одном коннекте?

    @none7
    Вангую. Если сервер не закрыл подключение после выдачи контента, то HINTERNET полученный от HttpOpenRequest может быть использован для повторного вызова HttpOpenRequest. При этом HttpOpenRequest вернёт тот же HINTERNET. Не зря же они всё в один тип запихнули.
    Ответ написан
  • Как увеличить допустимый размер ответа в CURL php?

    @none7
    Ответ написан
    Комментировать
  • Почему progressBar медленный?

    @none7
    WinForms в принципе штука не быстрая. Попробуйте сократить число установок значения прогрессбара до размера этого контрола в пикселях и не более 10 изменений в секунду.
    Ответ написан
    Комментировать
  • Как удалить windows 7 c другого диска?

    @none7
    bcdedit /? /delete
    Ответ написан
    Комментировать
  • Чем записать .ISO образ Windows 7 на Linux после dd?

    @none7
    А зачем Вам после dd форматировать флешку? После него флешка должна быть рабочей по крайней мере для режима legacy. Если хотите в режиме UEFI, то процедура сложнее! Для начала нужно создать при помощи gparted таблицу разделов GPT, создать и отформатировать раздел с fat32, скопировать на тот раздел файлы из ISO образа, отмонтировать и поставить на раздел метку boot. Если ISO-образ рассчитан на работу с GPT(а Win7 должен быть рассчитан), то флешка станет полноценно загрузочной для UEFI.
    Но гораздо проще залезть в BIOS и выбрать Legacy загрузку.
    Ответ написан