We rise up for the things we believe in over and over again

Надоело при помощи цопипасты загружать файлы из нескольких ссылок. Выделить ссылку, скопировать, вставить в браузер. Дождаться, пока вылезет окно сохранения файла, нажать ОК. А потом все это повторить n раз... На-до-е-ло. Хочу так: есть куча ссылок (прямых), выделить их все, скопировать в буфер, нажать 1 (одну) кнопку и получить все разом.
Заодно отметим переход на Powershell 4 (давно пора было это сделать, ISE стал заметно удобнее).
Впрочем, положа руку на сердце, мне не так уж часто попадаются такие паки ссылок, чтобы заново изобретать Download Master. Но попавшийся в этот раз меня доконал
Оффтопом:
http://bitsdownloadmgr.codeplex.com
По надобности вызываем:
[Win32.NativeMethods]::ShowWindowAsync($hwnd, 1)
ShowWindowAsync() - тоже. По крайней мере видимых изменений никаких.
А вот что меня в программировании всегда подбешивало - так это вот такая лапша:
$sig = '[DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);'
Add-Type -MemberDefinition $sig -name NativeMethods -namespace Win32
Не холивара ради - как вы, программеры, черт побери, вообще запоминаете, как и откуда все это тащить/линковать/объявлять? Ну ладно, со встроенными классами .NET еще как-то можно жить. Но вот такое...
SW_NORMAL = 1
По идее, если окно развёрнуто на весь экран, то оно "восстановится". Плюс ShowWindowAsync() фокус не передаёт вроде бы.
А вот что меня в программировании всегда подбешивало - так это вот такая лапша:
$sig = '[DllImport("user32.dll")] public static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow);'
Add-Type -MemberDefinition $sig -name NativeMethods -namespace Win32
Хммм...
^^
Не холивара ради - как вы, программеры, черт побери, вообще запоминаете, как и откуда все это тащить/линковать/объявлять? Ну ладно, со встроенными классами .NET еще как-то можно жить. Но вот такое...
Открывается MSDN... Там есть в описании функции указание, из какого LIB файла импортируется и в каком заголовочном файле определено. Или из какой библиотеки тащить. Имя LIB файла совпадает с именем библиотеки.
Если пишешь на C/C++, то многое уже объявлено. Если на VB, то есть уже сделанные объявления - выбирай и копируй в код. Плсю для много у меня есть TLB файл, чтобы не писать объявления ручками.
А вообще, там разделение библиотек. Графика - в GDI32, окна и UI - User32, всякая система вроде I/O и синхронизации - Kernel32.
SW_SHOWNORMAL
Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time.
Public Declare Function ShowWindowAsync Lib "user32" Alias "ShowWindowAsync" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
О, мои глаза...
Хммм... Но всё равно, часть про "restores" не есть хорошо.
О, мои глаза...
Хорошее читаемое объявление.
А что тебя в restore не устраивает? У меня условие задачи такое: при наступлении пиздеца консольное окно должно появиться в том же месте, где оно было до того, как его свернули с глаз долой. ShowNormal это и обеспечивает.
Хорошее читаемое объявление.
Дело привычки. У меня ее пока еще нет...
Всё, поняла ^^'
Дело привычки. У меня ее пока еще нет...
Переходи на тёмную сторону, у нас есть СКОРОСТЬ!
Я и так на ней
Не, то серые области.