<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9937&amp;type=atom" />
	<updated>2017-07-07T07:00:14Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9937</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=117136#p117136" />
			<content type="html"><![CDATA[<p><strong>YMP</strong> <br />C большим опозданием... </p><div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>В смысле? Куда проще-то? В функциях ничего лишнего нет.</p></blockquote></div><p> Проще сделать для жены. </p><div class="quotebox"><cite>Indomito пишет:</cite><blockquote><p>понятие &quot;проще&quot; относительное... для моей жены это сложнее - 100%</p></blockquote></div><p> Например добавить GUI или нечто подобное. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2017-07-07T07:00:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=117136#p117136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86303#p86303" />
			<content type="html"><![CDATA[<p>Если это всё менять не для всех трёх каналов одновременно, то будет.</p><p>По сохранности настроек: они сохраняются после сна и гибернации, если в панели стоит управление от приложений. Если от Нвидиа, то сбрасываются на значения, заданные в панели.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-05T22:42:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86303#p86303</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86301#p86301" />
			<content type="html"><![CDATA[<p>Вопрос может не по теме, но раз уж возник - цвет пикселя будет ли зависеть от параметров(яркости,гаммы,контрастности) монитора или цвет напрямую задается видеокартой независимо от настроек монитора? <br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p>Сам проверить не могу, у моего монитора нет регуляторов вообще</p></div></div>]]></content>
			<author>
				<name><![CDATA[Странникх]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=30605</uri>
			</author>
			<updated>2014-09-05T19:16:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86301#p86301</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86300#p86300" />
			<content type="html"><![CDATA[<p>Я пока не проверял... буду баги отпишусь.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-05T18:23:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86300#p86300</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86287#p86287" />
			<content type="html"><![CDATA[<p>Странно... Сегодня после выхода из сна сохранилась настройка. То ли я вчера что-то напутал, то ли хз.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-04T05:03:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86287#p86287</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86268#p86268" />
			<content type="html"><![CDATA[<p>Согласен, что ты написал просто, но надо сохранять профиль в разные файлы и считывать по выбору. <br />Я имел ввиду небольшую надстройку с GUI интерфейсом и не более <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-03T12:05:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86268#p86268</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86266#p86266" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Я на основе твоего скрипта напишу более простой для понимания.</p></blockquote></div><p>В смысле? Куда проще-то? В функциях ничего лишнего нет.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-03T11:53:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86266#p86266</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86265#p86265" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Не ограничена. Хотя при сохранении по горячей клавише, по-моему, проще просто вручную переименовывать получившийся файл как вам надо.</p></blockquote></div><p> Хорошо что нет ограничений, а понятие <em>&quot;проще&quot;</em> относительное... для моей жены это сложнее - 100% <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Не страшно что временные, я так и думал что они будут такие. Я на основе твоего скрипта напишу более простой для понимания.<br />Режимы гибернации, сна и т.д. отключены - только рестарт ОС будет влиять.... хотя надо проверить что возьмут приложения установленное скриптом или то что было ранее - вот что самое важное.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-03T11:35:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86265#p86265</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86264#p86264" />
			<content type="html"><![CDATA[<p>Не ограничена. Хотя при сохранении по горячей клавише, по-моему, проще просто вручную переименовывать получившийся файл как вам надо.</p><p>У меня картинка меняется уже при движении ползунков. Применить — это, видимо, где-то запомнить сделанные изменения. При считывании из файла проблем не заметил. Единственно, что настройки эти временные. Сейчас, например, вывел комп из сна и заметил, что вернулись те, которые стоят в панели.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-03T11:18:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86264#p86264</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86263#p86263" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>YMP пишет:</cite><blockquote><p>Да, через панель менять и сохранять в соответствующие файлы.</p></blockquote></div><p> сенкс, это то что нужно.</p><p><span class="bbu">Осталось два вопроса.</span></p><p><strong>1</strong>. Как я понял из скрипта переменная <strong>File</strong> не ограничена данным путём, именем и расширением? </p><div class="codebox"><pre><code>File = %A_Desktop%\gramp.bin</code></pre></div><p> </p><p><strong>2.</strong> При изменении данных в панели надо нажимать применить, а вот при считывании из переменной <strong>File</strong> будут ли проблемы?</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-03T10:54:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86263#p86263</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86261#p86261" />
			<content type="html"><![CDATA[<p>Да, через панель менять и сохранять в соответствующие файлы. Вот код:<br /></p><div class="codebox"><pre><code>
F11::    ; Сохраняем.
    File = %A_Desktop%\gramp.bin
    If !GetGammaRamp(File)
        MsgBox, Ошибка GetGammaRamp
Return

F12::    ; Применяем.
    File = %A_Desktop%\gramp.bin
    If !SetGammaRamp(File)
        MsgBox, Ошибка SetGammaRamp
Return


; =========================== Функции ==============================

GetGammaRamp(FileName)
{
    Static GRamp, GRampSize := 256 * 6
    If (!GRamp)
        VarSetCapacity(GRamp, GRampSize)
    hdcScreen := DllCall(&quot;GetDC&quot;, &quot;ptr&quot;, 0, &quot;ptr&quot;)
    Ret := DllCall(&quot;GetDeviceGammaRamp&quot;, &quot;ptr&quot;, hdcScreen, &quot;ptr&quot;, &amp;GRamp)
    DllCall(&quot;ReleaseDC&quot;, &quot;ptr&quot;, 0, &quot;ptr&quot;, hdcScreen)
    If (!Ret)
        Return False
    If !(File := FileOpen(FileName, &quot;w&quot;))
        Return False
    File.Pos := 0
    File.RawWrite(&amp;GRamp, GRampSize)
    File.Close()
    Return True
}

SetGammaRamp(FileName)
{
    Static GRamp, GRampSize := 256 * 6
    If (!GRamp)
        VarSetCapacity(GRamp, GRampSize)
    If !(File := FileOpen(FileName, &quot;r&quot;))
        Return False
    File.Pos := 0
    File.RawRead(&amp;GRamp, GRampSize)
    File.Close()
    hdcScreen := DllCall(&quot;GetDC&quot;, &quot;ptr&quot;, 0, &quot;ptr&quot;)
    Ret := DllCall(&quot;SetDeviceGammaRamp&quot;, &quot;ptr&quot;, hdcScreen, &quot;ptr&quot;, &amp;GRamp)
    DllCall(&quot;ReleaseDC&quot;, &quot;ptr&quot;, 0, &quot;ptr&quot;, hdcScreen)
    Return Ret? True:False
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-03T03:55:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86261#p86261</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86260#p86260" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Может быть, проще сохранить эти рампы (при нужных вам настройках) в файлы. А потом читать из файлов и применять.</p></blockquote></div><p> то же вариант и вполне нормальный.</p><p>Осталось понять как считать, как применить и как поменять, менять видимо через панель видимо.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-02T19:45:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86260#p86260</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86254#p86254" />
			<content type="html"><![CDATA[<p>В общем, я в целом понял, что это за рампа. Яркость и контрастность, наверно, можно понять, как&nbsp; из неё извлечь, меняя настройки и сравнивая значения в рампе. Но вот как из неё вычислить гамму, совершенно не представляю. И, соответственно, как к ней применить заданную гамму, тоже.</p><p>Может быть, проще сохранить эти рампы (при нужных вам настройках) в файлы. А потом читать из файлов и применять.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-02T16:13:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86254#p86254</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86240#p86240" />
			<content type="html"><![CDATA[<p>Я даже выполнил команду по регистрации - <strong>regsvr32 NvCpl.dll</strong> <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><p><strong>GetDeviceGammaRam</strong>p - это не функция AHK, видимо OS... <br />Нужно вытащить три значения яркость, контрастность и гамма... я тут вряд ли чем помогу.</p><p>P.S. Могу компильнуть на С++ прилагаемые исходники, но думаю результат будет аналогичный.</p>]]></content>
			<author>
				<name><![CDATA[Indomito]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27285</uri>
			</author>
			<updated>2014-09-02T09:15:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86240#p86240</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK:  видеокарта Nvidia - как обратится в функциям API]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=86239#p86239" />
			<content type="html"><![CDATA[<p>Ну да, у меня set-команды тоже не работают, и переключение в настройках не помогает. Видимо, в текущей версии DLL эти все возможности не реализованы. Или хз.</p><p>Что касается другого способа, то есть и функция GetDeviceGammaRamp. Осталось понять, что такое Gamma Ramp и как из неё вывести значение гаммы.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2014-09-02T08:58:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=86239#p86239</id>
		</entry>
</feed>
