feat: 添加 Windows 环境变量编辑器 GUI 应用程序

- 基于 IUP GUI 库开发 Windows 环境变量编辑器
- 实现 PATH 变量的加载、编辑、保存功能
- 提供新建、编辑、浏览、删除、上下移动路径等操作
- 添加管理员权限检查,确保系统变量修改权限
- 包含完整的项目构建配置(Makefile)和依赖库
This commit is contained in:
2026-03-16 17:32:15 +08:00
commit 13e683e7fd
95 changed files with 5425 additions and 0 deletions
@@ -0,0 +1,97 @@
/** \file
* \brief OpenGL canvas for Iup.
*
* See Copyright Notice in "iup.h"
*/
#ifndef __IUPGL_H
#define __IUPGL_H
#ifdef __cplusplus
extern "C" {
#endif
/* Attributes
** To set the appropriate visual (pixel format) the following
** attributes may be specified. Their values should be set
** before the canvas is mapped to the scrren.
** After mapping, changing their values has no effect.
*/
#ifndef IUP_BUFFER /* IUP_SINGLE (defaut) or IUP_DOUBLE */
#define IUP_BUFFER "BUFFER"
#endif
#ifndef IUP_STEREO /* IUP_NO (defaut) or IUP_YES */
#define IUP_STEREO "STEREO"
#endif
#ifndef IUP_BUFFER_SIZE /* Number of bits if index mode */
#define IUP_BUFFER_SIZE "BUFFER_SIZE"
#endif
#ifndef IUP_RED_SIZE /* Number of red bits */
#define IUP_RED_SIZE "RED_SIZE"
#endif
#ifndef IUP_GREEN_SIZE /* Number of green bits */
#define IUP_GREEN_SIZE "GREEN_SIZE"
#endif
#ifndef IUP_BLUE_SIZE /* Number of blue bits */
#define IUP_BLUE_SIZE "BLUE_SIZE"
#endif
#ifndef IUP_ALPHA_SIZE /* Number of alpha bits */
#define IUP_ALPHA_SIZE "ALPHA_SIZE"
#endif
#ifndef IUP_DEPTH_SIZE /* Number of bits in depth buffer */
#define IUP_DEPTH_SIZE "DEPTH_SIZE"
#endif
#ifndef IUP_STENCIL_SIZE /* Number of bits in stencil buffer */
#define IUP_STENCIL_SIZE "STENCIL_SIZE"
#endif
#ifndef IUP_ACCUM_RED_SIZE /* Number of red bits in accum. buffer */
#define IUP_ACCUM_RED_SIZE "ACCUM_RED_SIZE"
#endif
#ifndef IUP_ACCUM_GREEN_SIZE /* Number of green bits in accum. buffer */
#define IUP_ACCUM_GREEN_SIZE "ACCUM_GREEN_SIZE"
#endif
#ifndef IUP_ACCUM_BLUE_SIZE /* Number of blue bits in accum. buffer */
#define IUP_ACCUM_BLUE_SIZE "ACCUM_BLUE_SIZE"
#endif
#ifndef IUP_ACCUM_ALPHA_SIZE /* Number of alpha bits in accum. buffer */
#define IUP_ACCUM_ALPHA_SIZE "ACCUM_ALPHA_SIZE"
#endif
/* Attribute values */
#ifndef IUP_DOUBLE
#define IUP_DOUBLE "DOUBLE"
#endif
#ifndef IUP_SINGLE
#define IUP_SINGLE "SINGLE"
#endif
#ifndef IUP_INDEX
#define IUP_INDEX "INDEX"
#endif
#ifndef IUP_RGBA
#define IUP_RGBA "RGBA"
#endif
#ifndef IUP_YES
#define IUP_YES "YES"
#endif
#ifndef IUP_NO
#define IUP_NO "NO"
#endif
void IupGLCanvasOpen(void);
Ihandle *IupGLCanvas(const char *action);
Ihandle* IupGLBackgroundBox(Ihandle* child);
void IupGLMakeCurrent(Ihandle* ih);
int IupGLIsCurrent(Ihandle* ih);
void IupGLSwapBuffers(Ihandle* ih);
void IupGLPalette(Ihandle* ih, int index, float r, float g, float b);
void IupGLUseFont(Ihandle* ih, int first, int count, int list_base);
void IupGLWait(int gl);
#ifdef __cplusplus
}
#endif
#endif