質問編集履歴

2

エラーメッセージは無くなったが実行結果が思い通りにならなかった。

2018/12/11 15:09

投稿

yakoumori
yakoumori

スコア12

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  コマンドプロンプトからディスプレイのGUIDキーを見つけ、その後のAPIでの処理をVisualStudio2013のC#で
8
8
 
9
- CF4 Developer Kit のpowerManagementNative.csの引用プログラムを加え、本題のAPIでの呼び出しをコピー&ペーストし先程修正した状態で実行したところ動作に疑問を感じた。
9
+ CF4 Developer Kit のpowerManagementNative.csの引用プログラムを加え、本題のAPIでの呼び出しをコピー&ペーストし先程修正した状態で実行したところ動作に疑問を感じました。
10
10
 
11
11
 
12
12
 
@@ -16,10 +16,16 @@
16
16
 
17
17
  ```
18
18
 
19
+ エラーメッセージ
20
+
21
+ なし
22
+
19
23
  問題
20
24
 
21
25
  画面の輝度が変わるはずなのに画面が変化せずformが起動しただけになっていると思います。
22
26
 
27
+ またSetACBrightnessを呼び出す方法がわからない。
28
+
23
29
 
24
30
 
25
31
  ```
@@ -285,3 +291,5 @@
285
291
 
286
292
 
287
293
  GUIDを変更して高パフォーマンスからバランスや省電力に変更したのですが、画面への変化がなかった。
294
+
295
+ bright_acにint型の値を入れて実行しましたが、エラーメッセージが出てしまった。

1

元のサンプルコードをコピー&ペーストしてから{}をちゃんとつけ、GUIDの宣言をまとめた

2018/12/11 15:08

投稿

yakoumori
yakoumori

スコア12

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  コマンドプロンプトからディスプレイのGUIDキーを見つけ、その後のAPIでの処理をVisualStudio2013のC#で
8
8
 
9
- CF4 Developer Kit のpowerManagementNative.csの引用プログラムを加え、本題のAPIでの呼び出しをコピー&ペーストしたさいにエラーコードが出ました。
9
+ CF4 Developer Kit のpowerManagementNative.csの引用プログラムを加え、本題のAPIでの呼び出しをコピー&ペーストし先程修正し状態で実行したところ動作に疑問を感じた
10
10
 
11
11
 
12
12
 
@@ -16,59 +16,9 @@
16
16
 
17
17
  ```
18
18
 
19
- エラーメッセージ
19
+ 問題
20
-
21
- 1.;が必要です。99行44列
20
+
22
-
23
- 2.無効なトークンifがクラス、構造体またはインターフェースのメンバー宣言で使用されています。100行10列
24
-
25
- 3.無効なトークン0がクラス、構造体またはインターフェースのメンバー宣言で使用されています。100行25列
26
-
27
- 4.型が必要です。100行25列
28
-
29
- 5.無効なトークン>がクラス、構造体またはインターフェースのメンバー宣言で使用されています。100行40列
30
-
31
- 6.無効なトークンifがクラス、構造体またはインターフェースのメンバー宣言で使用されています。104行10列
32
-
33
- 7.無効なトークン!=がクラス、構造体またはインターフェースのメンバー宣言で使用されています。104行17列
34
-
35
- 8.無効なトークン=がクラス、構造体またはインターフェースのメンバー宣言で使用されています。107行14列
36
-
37
- 9.メソッドは戻り値の型を持たなければなりません。107行16列
38
-
39
- 10.識別子がありません。107行48列
40
-
41
- 11.識別子がありません。107行80列
42
-
43
- 12.無効なトークンifがクラス、構造体またはインターフェースのメンバー宣言で使用されています。108行10列
44
-
45
- 13.無効なトークン!=がクラス、構造体またはインターフェースのメンバー宣言で使用されています。108行17列
46
-
47
- 14.フィールド初期化子は、静的ではないフィールド、メソッドまたはプロパティMY_POWER_MANAGEMENT_POLICYを参照できません。103行61列
48
-
49
- 15.GUID_VIDEO_SUBGROUPとGUID_VIDEO_SUBGROUP間があいまいです。103行61列
50
-
51
- 16.フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティGUID_VIDEO_SUBGROUPを参照できません。103行93列
52
-
53
- 17.DisplayBrightnessGuidとDisplayBrightnessGuid間があいまいです。103行118列
54
-
55
- 18.フィールド初期化子は、静的でないフィールド、メソッドまたはプロパティDisplayBrightnessGuidを参照できません。103行118列
56
-
57
- 19.名前bright_acは現在のコンテキスト内に存在しません。103行13列
58
-
59
- 20.型または名前空間名bright_acが見つかりませんでした。usingディレクティブまたはアセンブリ参照が不足しています。100行13列
60
-
61
- 21.型または名前空間名bright_acが見つかりませんでした。usingディレクティブまたはアセンブリ参照が不足しています。100行30列
62
-
63
- 22.retはフィールドですが型のように使用されています。104行13列
64
-
65
- 23.retはフィールドですが型のように使用されています。107行10列
66
-
67
- 24.System.IntPtr.Zeroフィールドですが型よう使用されています。107行44列
21
+ 画面の輝度が変わるずなのに画面が変化せずformが起動しただけになっていると思います。
68
-
69
- 25.MY_POWER_MANAGEMENT_POLICYはフィールドですが型のように使用されています。107行54列
70
-
71
- 26.retはフィールドですが型のように使用されています。108行13列
72
22
 
73
23
 
74
24
 
@@ -96,17 +46,21 @@
96
46
 
97
47
  using System.Linq;
98
48
 
49
+ using System.Text;
50
+
51
+ using System.Windows.Forms;
52
+
99
53
  using System.Runtime.InteropServices;
100
54
 
101
- using System.Text;
102
-
103
- using System.Threading.Tasks;
55
+ using System.Drawing.Imaging;
104
-
56
+
105
- using System.Windows.Forms;
57
+ using System.Globalization;
58
+
106
-
59
+ using Microsoft.Win32;
107
-
108
-
60
+
61
+
62
+
109
- namespace display
63
+ namespace WindowsFormsApplication3
110
64
 
111
65
  {
112
66
 
@@ -114,6 +68,16 @@
114
68
 
115
69
  {
116
70
 
71
+ public Form1()
72
+
73
+ {
74
+
75
+ InitializeComponent();
76
+
77
+ }
78
+
79
+
80
+
117
81
  #region Constants
118
82
 
119
83
  /// <summary>
@@ -262,50 +226,46 @@
262
226
 
263
227
  #endregion
264
228
 
229
+
230
+
231
+ Guid MY_POWER_MANAGEMENT_POLICY = new Guid("a1841308-3541-4fab-bc81-f71556f20b4a"); // 今回は<SCHEME_GUID>をベタ指定
232
+
233
+ //381b4222-f694-41f0-9685-ff5bb260df2e(バランス)
234
+
235
+ //8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c(高パフォーマンス)現在の設定
236
+
237
+ //a1841308-3541-4fab-bc81-f71556f20b4a(省電力)
238
+
239
+
240
+
241
+ bool SetACBrightness(int bright_ac){
242
+
243
+ if(bright_ac < 0 || bright_ac > 100)
244
+
245
+ return false;
246
+
247
+
248
+
249
+ uint ret = PowerWriteACValueIndex(IntPtr.Zero, ref MY_POWER_MANAGEMENT_POLICY, ref GUID_VIDEO_SUBGROUP, ref DisplayBrightnessGuid, (uint)bright_ac);
250
+
265
- public Form1()
251
+ if(ret != 0)
266
-
267
- {
252
+
268
-
269
- InitializeComponent();
253
+ return false;
254
+
255
+
256
+
257
+ ret = PowerSetActiveScheme(IntPtr.Zero, ref MY_POWER_MANAGEMENT_POLICY);
258
+
259
+ if(ret != 0)
260
+
261
+ return false;
262
+
263
+
264
+
265
+ return true;
270
266
 
271
267
  }
272
268
 
273
-
274
-
275
- Guid MY_POWER_MANAGEMENT_POLICY = new Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"); // 今回は<SCHEME_GUID>をベタ指定
276
-
277
- Guid GUID_VIDEO_SUBGROUP = new Guid("7516b95f-f776-4464-8c53-06167f40cc99");
278
-
279
- Guid DisplayBrightnessGuid = new Guid("aded5e82-b909-4619-9949-f5d71dac0bcb");
280
-
281
-
282
-
283
- bool SetACBrightness(int bright_ac)
284
-
285
- if(bright_ac < 0 || bright_ac > 100)
286
-
287
- return false;
288
-
289
-
290
-
291
- uint ret = PowerWriteACValueIndex(IntPtr.Zero, ref MY_POWER_MANAGEMENT_POLICY, ref GUID_VIDEO_SUBGROUP, ref DisplayBrightnessGuid, (uint)bright_ac);
292
-
293
- if(ret != 0)
294
-
295
- return false;
296
-
297
-
298
-
299
- ret = PowerSetActiveScheme(IntPtr.Zero, ref MY_POWER_MANAGEMENT_POLICY);
300
-
301
- if(ret != 0)
302
-
303
- return false;
304
-
305
-
306
-
307
- return true;
308
-
309
269
 
310
270
 
311
271
  }
@@ -314,6 +274,8 @@
314
274
 
315
275
 
316
276
 
277
+
278
+
317
279
  ```
318
280
 
319
281
 
@@ -322,4 +284,4 @@
322
284
 
323
285
 
324
286
 
325
- boolのあたりでエラーメッセージが出るのでboolの説明が載っているページ眺めそれを参考にして1度書き換えエーメッセージが出ない段階まで来たので実行したのですが、Windowsform空白が出ただけでディスプレイに関しては何も変化していいように感じました。
287
+ GUID変更して高パフォーマンスからバンスや省電力に変更したのですが、画面への変化かった。